php preg 匹配在 " " 内查找字符串并限制
php preg match find string inside " " with limit
这是我的文字:
pagination},queryId:"472f257a40c653c64c666ce877d59d2b", val:"598f257a40c653c64c666ce877d59d2b"
我需要找到 472f257a40c653c64c666ce877d59d2b 和 598f257a40c653c64c666ce877d59d2b.
这些都在“”之间。我只需要“”之间的字符串,并且不超过 32。
这是我的代码:
preg_match_all('/"^(.*?){32}$"/mis', $get, $results);
正则表达式:"([a-z0-9]{32})"
或 (?<=")[a-z0-9]{32}(?=")
$text = "pagination},queryId:\"472f257a40c653c64c666ce877d59d2b\", val:\"598f257a40c653c64c666ce877d59d2b\"";
preg_match_all("/\"([a-z0-9]{32})\"/", $text, $match);
print_r($match);
输出:
Array
(
[0] => Array
(
[0] => "472f257a40c653c64c666ce877d59d2b"
[1] => "598f257a40c653c64c666ce877d59d2b"
)
[1] => Array
(
[0] => 472f257a40c653c64c666ce877d59d2b
[1] => 598f257a40c653c64c666ce877d59d2b
)
)
您可以使用 :"\K[a-f\d]{32}(?=")
说明
- 匹配
:"
- 重置报告比赛的起点
\K
- 匹配从 a 到 f 和从 0 到 9 的字符
[a-f\d]{32}
- 断言后面是“
(?=")
的正面前瞻
例如:
$re = '/:"\K[a-f\d]{32}(?=")/';
$str = 'pagination},queryId:"472f257a40c653c64c666ce877d59d2b", val:"598f257a40c653c64c666ce877d59d2b"';
preg_match_all($re, $str, $matches);
var_dump($matches[0]);
这将导致:
array(2) {
[0]=>
string(32) "472f257a40c653c64c666ce877d59d2b"
[1]=>
string(32) "598f257a40c653c64c666ce877d59d2b"
}
这是我的文字:
pagination},queryId:"472f257a40c653c64c666ce877d59d2b", val:"598f257a40c653c64c666ce877d59d2b"
我需要找到 472f257a40c653c64c666ce877d59d2b 和 598f257a40c653c64c666ce877d59d2b.
这些都在“”之间。我只需要“”之间的字符串,并且不超过 32。
这是我的代码:
preg_match_all('/"^(.*?){32}$"/mis', $get, $results);
正则表达式:"([a-z0-9]{32})"
或 (?<=")[a-z0-9]{32}(?=")
$text = "pagination},queryId:\"472f257a40c653c64c666ce877d59d2b\", val:\"598f257a40c653c64c666ce877d59d2b\"";
preg_match_all("/\"([a-z0-9]{32})\"/", $text, $match);
print_r($match);
输出:
Array
(
[0] => Array
(
[0] => "472f257a40c653c64c666ce877d59d2b"
[1] => "598f257a40c653c64c666ce877d59d2b"
)
[1] => Array
(
[0] => 472f257a40c653c64c666ce877d59d2b
[1] => 598f257a40c653c64c666ce877d59d2b
)
)
您可以使用 :"\K[a-f\d]{32}(?=")
说明
- 匹配
:"
- 重置报告比赛的起点
\K
- 匹配从 a 到 f 和从 0 到 9 的字符
[a-f\d]{32}
- 断言后面是“
(?=")
的正面前瞻
例如:
$re = '/:"\K[a-f\d]{32}(?=")/';
$str = 'pagination},queryId:"472f257a40c653c64c666ce877d59d2b", val:"598f257a40c653c64c666ce877d59d2b"';
preg_match_all($re, $str, $matches);
var_dump($matches[0]);
这将导致:
array(2) {
[0]=>
string(32) "472f257a40c653c64c666ce877d59d2b"
[1]=>
string(32) "598f257a40c653c64c666ce877d59d2b"
}