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

前端之家收集整理的这篇文章主要介绍了正则表达式 – 如何使用正则表达式限制范围之间的字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
据我所知{}花括号用于限制正则表达式中的字符,如{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

原文链接:/regex/451910.html

猜你在找的正则表达式相关文章