You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写正则表达式匹配禁止连续重复特殊字符的字符串?

解决连续重复特殊字符的正则匹配问题

修正后的正则表达式

[RegularExpression(@"^[a-zA-Z0-9]+(?:[.&' -][a-zA-Z0-9]+)*$")]

正则逻辑说明

  • ^[a-zA-Z0-9]+:字符串必须以至少一个字母/数字开头
  • (?:[.&' -][a-zA-Z0-9]+)*:非捕获组,用于匹配分隔规则:
    • [.&' -]:允许的特殊字符集合(.、&、单引号、空格、连字符)
    • [a-zA-Z0-9]+:每个特殊字符后必须跟至少一个字母/数字
    • *:该组合可重复0次或多次(支持无特殊字符的纯字母数字字符串,或多段带分隔符的字符串)
  • $:字符串必须以字母/数字结尾

验证效果

可接受格式(全部匹配成功)

  • bra-cks、b-r-a-c-ks:连字符后均跟字母数字,符合规则
  • b.r.a.c.ks:点号后均跟字母数字,符合规则
  • bra cks:单个空格后跟字母数字,符合规则

不可接受格式(全部匹配失败)

  • b..、bra..cks、b..racks、bra...cks:连续特殊字符,缺少中间的字母数字分隔
  • bra cks:连续空格,不符合“单个特殊字符+字母数字”的规则

内容的提问来源于stack exchange,提问作者Mh Dip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:00:11