【发布时间】:2021-07-29 04:09:04
【问题描述】:
我正在检查“无效格式”的有效字符串。
字符串的最小长度为 5 个字符,最大为 32 (/[a-z\d_\.]{5,32}/)。
出现“格式无效”错误。如果字符串:
- 以三位或更多数字开头(可接受一位或两位数字);
- 以
_字符开头和结尾; - 包含一个点,其后以该字母开头的字符少于四个。
我写了一个适用于前两个条件的表达式,但我不明白如何实现第三个条件?如果可能的话,再举一个单独的表达式的例子,我不太明白如何用点符号来做。
^(?!(?:_|\d{3,}))[a-z\d_\.]{5,32}(?<!_)$
https://regex101.com/r/W9njMe/1
谢谢。
【问题讨论】:
-
请原谅我的英语,我不是母语人士。
-
试试
^(?!\d{3})(?!_.*_$)(?!.*\.[a-z].{0,2}$)[a-z\d_.]{5,32}$,见this regex demo。