2011-04-25 167 views
3

是否可以用一个正则表达式完成此操作?需要正则表达式的帮助

我只需要匹配那些只有一个周期/点的字符串,但限制是那个周期/点不能在字符串的末尾。

例子:

abc.d will match 

.abcd will match 

abcd. will not match 

回答

7

是的,你可以做一个正则表达式:

^[^.]*\.[^.]+$ 
+0

+1 - 你让我学习了一种不同的,更好的方式来写这个正则表达式! – manojlds 2011-04-25 05:43:28

3

我真的很喜欢@ codaddict的回答,但如何不事正则表达式? (下面的C#代码)

if(a.Split('.').Length>2 || a.EndsWith(".")) 
    { 
     Console.WriteLine("invalid"); 
    } 

我喜欢的是,它是更清楚,你不想要一个字符串以两个.,也是一个.不应该在年底。这实际上可能比使用正则表达式更快。