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