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"
}