我正在尝试编写具有以下要求的正则表达式:除字母和数字外不得有任何连续字符示例:我是#1!我感觉棒极了!(好的),我有点 .{}。悲伤(不好)除字母和数字外,不得超过 4 个字符示例:aa,aaa(正常),aa,a[]a/(不正常)到目前为止,我已经编写了这个正则表达式,但它似乎无法正常工作。/^(?!.*?[!"#$%&'()*+,-./:;<=>?@[]^_`{|}~]{2})[A-Za-z0-9!"#$%&'()*+,-./:;<=>?@[]^_`{|}~].*$/你能提出任何解决方案吗?谢谢。
1 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
您可以使用
/^(?!.*[!-\/:-@[-`{-~]{2})[A-Za-z0-9 ]*(?:[!-\/:-@[-`{-~][A-Za-z0-9 ]*){0,4}$/
请参阅正则表达式演示。
细节
^
- 字符串的开头(?!.*[!-\/:-@[-`{-~]{2})
- 除换行符之外的任何零个或多个字符后不能有两个连续的 ASCII 标点符号,尽可能多[A-Za-z0-9 ]*
- 零个或多个字母、数字或空格(?:[!-\/:-@[-`{-~][A-Za-z0-9 ]*){0,4}
- 出现零到四次[!-\/:-@[-`{-~]
- 单个 ASCII 标点符号[A-Za-z0-9 ]*
- 零个或多个字母、数字或空格$
- 字符串末尾。
添加回答
举报
0/150
提交
取消