php preg匹配“”内的查找字符串,带限制
这是我的文字:php preg匹配“”内的查找字符串,带限制,php,regex,preg-match,Php,Regex,Preg Match,这是我的文字: pagination},queryId:"472f257a40c653c64c666ce877d59d2b", val:"598f257a40c653c64c666ce877d59d2b" 我需要找到472f257a40c653c64c666ce877d59d2b和598f257a40c653c64c666ce877d59d2b 这些都是介于两者之间的。我只需要介于和之间的字符串,不超过32 这是我的密码: preg_match_all('/"^(.*?){32}$"/mis'
pagination},queryId:"472f257a40c653c64c666ce877d59d2b", val:"598f257a40c653c64c666ce877d59d2b"
我需要找到472f257a40c653c64c666ce877d59d2b和598f257a40c653c64c666ce877d59d2b
这些都是介于两者之间的。我只需要介于和之间的字符串,不超过32
这是我的密码:
preg_match_all('/"^(.*?){32}$"/mis', $get, $results);
Regex:[a-z0-9]{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"
}
使用preg_match_all“~[^]+~”,$s,$m->$m[1]将保存这些值。您可以使用?Viktor,正如我提到的,我需要限制。我的输入字符串太长,您的代码将返回大量类似JSON的结果。你在剪断绳子的一部分吗??
$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"
}