2014-10-17 25 views
0

我有一个数组,其中有U.S.banana.作为条目。正则表达式匹配字符在字符串结尾除非多个实例

我想弄清楚如何编写一个正则表达式,只匹配字符串末尾的正则表达式,除非该字符串包含多个句点。

举例说明:.banana.应该匹配; . in U.S.不应该匹配,因为它包含多于一个,尽管在字符串末尾。

这应该工作:/(?!\..+)\.$/。它与期间(\.)和字符串末尾($)相匹配,前面有一个负向前视,表示:句点,后跟一个或多个字符(?!\..+)。它匹配两个字符串中的最后一个时间段。

有人能帮我吗?

+2

试试'/^[^.]+\.$/' – elclanrs 2014-10-17 19:18:12

+0

这是一个单词吗?如果是这样,@elclanrs答案是完美的。 – Sam 2014-10-17 19:20:56

+0

@Sam这是一次一个字。但是@elclanrs完全回答匹配'banana.',我只喜欢期间 – AKG 2014-10-17 19:23:11

回答

2
/^[^\.]*\.$/ 

这匹配整个单词,以防万一它只有。到底。你可以得到一个子比赛。把它放在括号内:

/^[^\.]*(\.)$/ 
+0

我完全忘记了submatches!谢谢! – AKG 2014-10-17 19:29:19