PHP正则表达式,不断检查很多相同的字母

Gal*_*Gal 1 php regex

我想阻止这种打字:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbnonsense
Run Code Online (Sandbox Code Playgroud)

为此,我想检查某个字母重复超过9次:

preg_match('/.{9,}/',$key)
Run Code Online (Sandbox Code Playgroud)

但是这适合任何包含超过9个字母的单词,例如: supercalifregilisticexpealidocious

我该怎么做呢?

sou*_*rge 12

您需要一个后引用以多次匹配相同的字符:

preg_match('/(.)\1{8}/', $string);
Run Code Online (Sandbox Code Playgroud)

  • 你可能想要一些像`[^ - =*\s]`而不是`.`这样的东西,因为空格(尤其是空白行)和其他字符经常是有意重复的.确切的字符集取决于您的受众以及他们输入的内容. (3认同)