为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式 - 没有连续的特殊字符

正则表达式 - 没有连续的特殊字符

素胚勾勒不出你 2023-08-24 21:10:59
我正在尝试编写具有以下要求的正则表达式:除字母和数字外不得有任何连续字符示例:我是#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 ]*- 零个或多个字母、数字或空格

  • $- 字符串末尾。


查看完整回答
反对 回复 2023-08-24
  • 1 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信