正则表达式相互匹配相同的字符PHP

时间:2015-02-05 03:55:32

标签: php regex

我正在使用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)

它不会说它与正则表达式匹配,我认为这是因为潜在的一组字母。

1 个答案:

答案 0 :(得分:1)

您需要将正则表达式放在单引号内。并且最好使用锚点,以便它可以进行精确的线匹配。或者,它会匹配oooooooooo字符串中的foooooooooobar

preg_match('~^(.)\1{9,}$~mu', "string");

DEMO