2011-08-30 89 views
2

假设,我们需要匹配:如何将此正则表达式从Perl转换为Java?

任何有或全无,后面跟着一个点,其中有可以是0或1, 后跟字“网络”,其中N可以小写或 进来大写。

这工作正常,在Perl:

^.*(\.?)[Nn]etwork$ 

你将如何在Java中匹配呢?我试图

(.*)\\.?(N|n)etwork$ 

但 “blah.Network” 不匹配

+0

'^。* [Nn] etwork $'是否完全一致?为什么需要分别匹配可选点? –

回答

1

这有什么错

^.*\\.?[Nn]etwork$ 

boolean foundMatch = subjectString.matches("^.*\\.?[Nn]etwork$"); 

(各地点的括号是不必要的反正)。

+0

谢谢蒂姆!像魅力一样工作 – JAM

+2

请注意,_regex_是'^。* \。?[Nn] etwork $';额外的反斜杠只是将其作为Java字符串文字编写的机制的一部分。 –

相关问题