php regex-can';我找不到错误
只有一个简单而具体的问题:php regex-can';我找不到错误,php,regex,Php,Regex,只有一个简单而具体的问题: 我得到了字符串{var1}12345{var2},我想得到使用的变量名 if (preg_match("/{([a-zA-Z0-9]*)}/g", $url, $matches)) { print_r($matches); } 如果我删除全局标志,它会工作,但我只得到第一个变量,正如预期的那样。为什么它不使用全球标志?当我从以下位置使用测试时,它会工作: preg_match()返回模式匹配的次数。这将是0次(无匹配)或1次,因为preg\u match()
我得到了字符串
{var1}12345{var2}
,我想得到使用的变量名
if (preg_match("/{([a-zA-Z0-9]*)}/g", $url, $matches)) {
print_r($matches);
}
如果我删除全局标志,它会工作,但我只得到第一个变量,正如预期的那样。为什么它不使用全球标志?当我从以下位置使用测试时,它会工作:
preg_match()返回模式匹配的次数。这将是0次(无匹配)或1次,因为preg\u match()将在第一次匹配后停止搜索。相反,preg_match_all()将一直持续到主题末尾。如果发生错误,preg_match()将返回FALSE
发件人:
preg_match()返回模式匹配的次数。这将是0次(无匹配)或1次,因为preg\u match()将在第一次匹配后停止搜索。相反,preg_match_all()将一直持续到主题末尾。如果发生错误,preg_match()将返回FALSE
这应该可以做到(如果您需要{name}格式的变量):
这应该可以做到(如果您需要{name}格式的变量):
用于获取多个匹配项:
if (preg_match_all("/{([a-zA-Z0-9]*)}/", $url, $matches)) {
print_r($matches[1]);
}
用于获取多个匹配项:
if (preg_match_all("/{([a-zA-Z0-9]*)}/", $url, $matches)) {
print_r($matches[1]);
}
啊哈!不知道他们为什么会这样。无法
preg_match()
返回全局搜索的点击数,如果没有点击,它仍然是“falsy”…嗯。。无论如何。谢谢(:Aha!想知道他们为什么这样做。无法preg_match()
返回全局搜索的点击数,如果没有点击,它仍然是“falsy”…嗯..无论如何。谢谢(: