是否可以为可选的第一个字符创建正则表达式?
我的要求是创建一个正则表达式
- 接受字母和数字
- 长度在 6 到 100 个字符之间
仅包含特殊字符冒号作为第一个字符
冒号:是可选字符
我已经制作了^([:][a-zA-Z0-9]{6,100}$)
如何将第一个字符 : 设为可选?目前这是强制性的。
提前致谢!
最佳答案
是的,使用匹配 1 次或 0 次出现的 ?
量词:
^:?[a-zA-Z0-9]{6,100}$
^
但是,如果 :
应计入字符计数,则使用
^(?=.{6,100}$):?[a-zA-Z0-9]+$
详细信息:
^
- 线 anchor 的开头(?=.{6,100}$)
- 正向预测,整个字符串需要 6 到 100 个字符(不多也不少):?
- 可选的:
[a-zA-Z0-9]+
- 1 个或多个字母/数字$
- 字符串结尾。
关于可选第一个特殊字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42949085/