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

如何编写仅允许. - _出现在字母数字中间的正则表达式?

正则表达式解决方案

你需要的正则表达式如下:

^[A-Za-z0-9]+(?:[.\-_][A-Za-z0-9]+)*$

规则说明

  • ^ 标识字符串起始位置,确保匹配从字符串开头开始
  • [A-Za-z0-9]+ 要求字符串首位必须是字母或数字,避免特殊符号出现在开头
  • (?:[.\-_][A-Za-z0-9]+)* 是非捕获组,可重复0次或多次:
    • 每次先匹配.、-、_中的任意一个特殊字符
    • 特殊字符后必须紧跟至少1个字母或数字,保证特殊字符只会出现在字母/数字之间,不会连续出现,也不会出现在字符串末尾
  • $ 标识字符串结束位置,确保匹配覆盖整个字符串

匹配效果验证

合法可匹配内容

  • 纯字母/数字:"stephan"、"mike03"、"12345"
  • 中间带允许的特殊符号:"s.johnson"、"st_steward"、"john-johnson"、"324_231351231"

非法不可匹配内容

  • 特殊符号开头:"--123"、"_steve"、".info"
  • 特殊符号结尾:"stefan_johnson_"
  • 连续特殊符号:"....."、"john_-"

内容的提问来源于stack exchange,提问作者Math Student

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:18:00