Regex 获取文本中类似字符串(遵循模式)的所有匹配项
我有一个巨大的文本,其中包含以下模式的字符串: {text1} {text2} ... {text10} “文本”将保持不变,但后面的数字将始终递增。我无法预测它的最大值 直到今天,我一直在用这个:Regex 获取文本中类似字符串(遵循模式)的所有匹配项,regex,foreach,str-replace,preg-match-all,Regex,Foreach,Str Replace,Preg Match All,我有一个巨大的文本,其中包含以下模式的字符串: {text1} {text2} ... {text10} “文本”将保持不变,但后面的数字将始终递增。我无法预测它的最大值 直到今天,我一直在用这个: preg_match_all("{text.}", $content, $occurrences); foreach ($occurrences[0] as $occurrence){ $content = str_replace("{" . $occurrence . "}", "test
preg_match_all("{text.}", $content, $occurrences);
foreach ($occurrences[0] as $occurrence){
$content = str_replace("{" . $occurrence . "}", "test", $content);
}
直到今天,当我注意到如果要替换多个数字,preg_match_all规则就不起作用时,一切都很顺利。这意味着它基本上会检测到“text2”,但不会检测到“text10”
我应该如何更改此preg_匹配规则以检测“text”之后的任何数字
谢谢,
博格丹
或
试试这个<代码>只匹配一个字符。这就是为什么text2
是匹配的,而不是text10
,因为text
后面有两个字符
preg_match_all("{text\d+}", $content, $occurrences);
preg_match_all("{text.+}", $content, $occurrences);