加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 如何使用正则表达式限制范围之间的字符

发布时间:2020-12-14 02:28:55 所属栏目:百科 来源:网络整理
导读:据我所知{}花括号用于限制正则表达式中的字符,如{3,12},将匹配3到12之间的字符长度. 我正在尝试验证可能包含句点的用户名.或_一个,但不是两个,与放置无关.为此,正则表达式工作得非常好. (^[a-z0-9]+$)|(^[a-z0-9]*[._][a-z0-9]*$) 但我还需要将字符串长度
据我所知{}花括号用于限制正则表达式中的字符,如{3,12},将匹配3到12之间的字符长度.

我正在尝试验证可能包含句点的用户名.或_一个,但不是两个,与放置无关.为此,正则表达式工作得非常好.

(^[a-z0-9]+$)|(^[a-z0-9]*[._][a-z0-9]*$)

但我还需要将字符串长度限制在3到12之间,我曾尝试将{3,12}放在正则表达式中,但这不起作用.

((^[a-z0-9]+$)|(^[a-z0-9]*[._][a-z0-9]*$)){3,12}

参见示例:https://regex101.com/r/kN3aO1/1

正如hwnd所说,一个更简单的解决方案是:
^(?=.{3,12}$)[a-z0-9]+(?:[._][a-z0-9]+)?$

旧的解决方案相当复杂和复杂,留在这里供参考,但请使用上面的解决方案.

^(?!(?:.{13,}|.{1,2})$)(?:([a-z0-9]+)|([a-z0-9]*[._][a-z0-9]*))$

您可以为此添加前瞻.

Demo on regex101

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读