正则表达式 – 如何使用正则表达式限制范围之间的字符
发布时间: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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |