0

我在这里写正则表达式很弱,这是我想要匹配的:

foo.123
foo.bar.456
anything.here.again.999

事实上,我需要匹配尽可能多[a-z]的发现,由一个字符分隔.,最后是 3 个字符长度。

这是我的正则表达式:^([a-z\.]{1,})([0-9]{3})$问题是它确实匹配:

foo.bar111甚至foo..bar.111正在匹配。

任何帮助,将不胜感激。

谢谢

4

2 回答 2

3

使用下面的正则表达式。注意\.字符类的外部:

^([a-z]+\.)+([0-9]{3})$

{1,}也可以换成+

于 2013-06-08T22:10:19.430 回答
2

匹配字符串的开头,任意数量的小写字母后跟一个点,最后是任意 3 位数字,后跟行尾:

^([a-z]+\.)+\d\d\d$
于 2013-06-08T22:14:47.167 回答