我正在使用Regex来匹配连续5次或更多次角色相同的东西。然而,这似乎并没有起作用。它还需要适用于UTF-8。我正在使用的是:
preg_match("~(.)\1{9,}~u", "string");
但它似乎永远不会匹配我想要的字符串。几个例子是:
aaaaa (5) [Should NOT be matched]
aaaaaaaaaaaa (12) [Should BE matched]
修改
好吧它现在正在工作,无论如何。如果用户输入
aaaaa(5) aaaaaaaaaaaa(12)
它不会说它与正则表达式匹配,我认为这是因为潜在的一组字母。
答案 0 :(得分:1)
您需要将正则表达式放在单引号内。并且最好使用锚点,以便它可以进行精确的线匹配。或者,它会匹配oooooooooo
字符串中的foooooooooobar
。
preg_match('~^(.)\1{9,}$~mu', "string");