[英]I know this regex can be simplified - .NET
这是我的要求:
_ ( ) [ ] ! # , . & * + : ' / -
我下面使用的正则表达式可以工作,但是特别是我不确定如何重用字符类[\\w\\(\\)\\.\\-\\[\\]!#,&*+:'\\/]
[\w\(\)\.\-\[\]!#,&*+:'\/][\w\s\(\)\.\-\[\]!#,&*+:'\/]{0,79}
更新:
感谢您的所有回答,这是成功的窍门
^(?!\s)[\w\s().\-!#&]{1,80}$
真的需要100%正则表达式吗? 你不能只是做
[\w\s\(\)\.\-\[\]!#,&*+:'\/]{1,80}
并分别验证第一个字符不是空格?
在字符类中,只有]
和\\
需要转义。 甚至-
如果是班级的第一个角色,也不需要逃脱!
这是我可以将其简化为的最简单的正则表达式:
[- \w().[\]!#,&*+:'/]{1,80}
如果第一个字符不能为空格,请尝试以下操作: (?!\\s)[-\\w\\s().[\\]\\\\!#,&*+:'/]{1,80}
。 您可能想在括号前加^,在结尾加$ ^(?!\\s)[-\\w\\s().[\\]\\\\!#,&*+:'/]{1,80}$
,使正则表达式与整个字符串匹配。
您可以使用否定的前瞻来检查第一个字符不是空格。 这样就无需重用字符类。
(?!\s)[\w\s\(\)\.\-\[\]!#,&*+:'\/]{1,80}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.