我需要一个关于以下
的正则表达式的小帮助谢谢, -GM
答案 0 :(得分:4)
^(?![^.]*\.\.)[a-z0-9][a-z0-9.]*$
开头的负面预测涵盖了你的第四个要求,其他一切都应该非常简单。 ^
和$
是字符串锚点的开头和结尾,字符类强制要求只允许使用小写字母,数字和.
。
要添加长度约束(6到16个字符之间),只需将*
更改为{5,15}
即可。 *
表示“重复上一个元素零次或多次”,{n,m}
表示“在n
和m
次之间重复上一个元素(包括)”。使用{5,15}
而不是{6,16}
的原因是第一个字符类已经使用了一个字符。结果如下:
^(?![^.]*\.\.)[a-z0-9][a-z0-9.]{5,15}$
答案 1 :(得分:3)
这里有一些帮助,但没有给出答案,因为你将学到最多。
[a-z0-9]
。请注意,此表达式与一个字符完全匹配。您必须使用量词来匹配多个例如 +
。^
和$
。 (但请注意。在角色类中,^
反转字符类。).
具有特殊含义,即通配符(匹配除换行符之外的任何字符)。因此,您必须转义它们\.
,才能选择文字点。另一种逃避点的方法是将它放在一个字符类中:[.]
。所有加粗的字词都是Google可以学习的字词。
答案 2 :(得分:2)
我会说这些话:/^[a-z0-9]+(\.[a-z0-9]+)*\.?$/
(假设该行可以以句号结尾)
答案 3 :(得分:2)
如果字符串可能不以句号结尾,请使用此选项:
/^[a-z0-9]+(\.[a-z0-9]+)*$/
或者如果它可能:
/^[a-z0-9]+(\.[a-z0-9]+)*\.?$/
答案 4 :(得分:0)
这应该是最好的
^([a-z0-9]+\.?)+$