我正在寻找一个正则表达式来字符串
右侧
abcd-efgH
1
a
123
abc
abc-asd-123-asd_asd.asd
错误:-
abc-_asd
abc.
abc.-asd
123123-123123-ads--asd
091-asdsad---
我四处张望,得到了这个:-/^(?!.*[^\na-z0-9]{2})(?=.*[a-z0-9]$)[a-z0-9].*$/gim
但这允许所有特殊字符,而不仅仅是我检查过的3个字符
最佳答案
您可以将此正则表达式与3个前瞻一起使用:
^(?![-_.])(?!.*[-_.]{2})(?!.*[-_.]$)[-\w.]{1,36}$
RegEx DemoRegEx详细信息:
^
:启动(?![-_.])
:负向超前以在开始[-_.]
(?!.*[-_.]{2})
:负向超前禁止在任何地方[-_.]
(?!.*[-_.]$)
:负向超前以禁止[-_.]
[-\w.]{1,36}
:匹配一个[-a-zA-Z0-9_.]
字符,最小值:1,最大值:36 $
:结束关于java - 正则表达式,不允许两个连续的特殊字符,也不允许在开头和结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63057698/