在字段中想要允许一个点或三个点
对于三点我的正则表达式就是它正常工作
/^[a-zA-Z]+[.]{3}$/
但是我尝试了一次和三次它都不起作用。我试着用| (或)签名
/^([a-zA-Z]+[.]{1})|([a-zA-Z]+[.]{3})$/
提前致谢
再次感谢它的工作但是我想允许以下选项
表示1 0r 3点在字中的任何位置但不是2,4,5点。
1) M.C.A
2) M.C.A...
3) M...CA.
以下正则表达式适用于上述要求
/^([a-zA-Z]+(\.|\.\.\.)([a-zA-z]+)?)+$/
答案 0 :(得分:1)
您可以使用此
/^[a-zA-Z]+[.](?:[.]{2})?$/
意味着,匹配一个点,可选择两个。
(?:[.]{2})?
是一个非捕获组(因为?:
),因为最后的?
是可选的。
答案 1 :(得分:1)
您可以将或语句简化为一个组,例如
^[a-zA-Z]+(\.|\.\.\.)$
这将匹配以.
或...
答案 2 :(得分:0)
交替的范围是错误的(字符串开始锚点只影响第一次交替,字符串结尾锚点只影响第二次交替):
/^([a-zA-Z]+[.]{1}) | ([a-zA-Z]+[.]{3})$/
更改括号以确保两个锚点都绑定到两个替换:
/^([a-zA-Z]+[.]{1}|[a-zA-Z]+[.]{3})$/
或更好,没有任何改变:
/^[a-zA-Z]+\.(\.{2})?$/
答案 3 :(得分:0)
您错放了|
。您尝试匹配以([a-zA-Z]+[.]{1})
开头或以([a-zA-Z]+[.]{3})
结尾的文字
正确的正则表达式是
/^[a-zA-Z]+([.]{3}|[.])$/