Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正则表达式,用于检查字符的3个或更多连续出现的情况_Php_Regex - Fatal编程技术网

Php 正则表达式,用于检查字符的3个或更多连续出现的情况

Php 正则表达式,用于检查字符的3个或更多连续出现的情况,php,regex,Php,Regex,我想检查输入字符串以验证正确的文本 a。我希望用户允许编写字母数字字符,包括句点、逗号、连字符和圆括号() b。但是,我不希望用户输入一个三位数或更多的数字。12是允许的,185是不允许的 c。我不希望用户输入像“………”或“-----------”或“aaaaaaaaaaaa”或“bbbbbbbb”等字符串 请建议使用相同的正则表达式。大多数正则表达式库支持以下内容: /()\1{2,}/ 其中\1是一个反向引用您可以使用正则表达式: (?!.*(.)\1{2})^[a-zA-Z0-9.,()

我想检查输入字符串以验证正确的文本

a。我希望用户允许编写字母数字字符,包括句点、逗号、连字符和圆括号()

b。但是,我不希望用户输入一个三位数或更多的数字。12是允许的,185是不允许的

c。我不希望用户输入像“………”或“-----------”或“aaaaaaaaaaaa”或“bbbbbbbb”等字符串


请建议使用相同的正则表达式。

大多数正则表达式库支持以下内容:
/()\1{2,}/

其中
\1
是一个反向引用

您可以使用正则表达式:

(?!.*(.)\1{2})^[a-zA-Z0-9.,()-]*$
它使用负前瞻
(?!.*()\1{2})
来确保任何字符都没有3次重复的组

然后,它使用regex
^[a-zA-Z0-9.,()-]*$
确保字符串仅由字母、数字、句点、逗号、括号和连字符组成


我使用了这个
code
if(preg_-match((?!!()\1{2})^[a-zA-Z0-9.,()-]*$,$about_-you)){echo'Invalid Text';}
code
它抛出以下错误:警告:preg_-match()[function.preg-match]:E:\Projects\www\scripts\test-f.php第33行的未知修饰符“^”位于if(preg_-match)(?!(?)\1})^[a-zA-Z0-9.,()-]*$,$about_you)){Try:
if(preg_-match(/(?!*()\1{2})^[a-zA-Z0-9.,()-]*$/,$about_you)){
很抱歉,它不起作用。虽然我现在没有收到任何解析错误,但是表达式无法匹配字符串,因为它应该是
code
if(preg_-match(/(?)(/((?),[a-Z09]),$about){echo“error”}
code
上述正则表达式与特殊字符不匹配。
/(?!.*()\1{2})^.*$/
此正则表达式检查任何3个或更多连续字符。