Regex 获取文本中类似字符串(遵循模式)的所有匹配项

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

我有一个巨大的文本,其中包含以下模式的字符串:

{text1} {text2} ... {text10}

“文本”将保持不变,但后面的数字将始终递增。我无法预测它的最大值

直到今天,我一直在用这个:

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);