2011-10-22 120 views
3

我已经设置的话。例如,查找单词只包含给定的字符:正则表达式

abc, adb, acb, cab, abcc, abk, bacc 

我想找到的话,只有具有

ABC

所以,结果我需要的是

abc, acb, cab, abcc, bacc 

我需要找到这个使用常用表达。
谁能请帮助我。

+0

单词'a'是否构成匹配? – JRL

+0

嘿,只是一个想法:也许你应该寻求帮助之前(http://www.regular-expressions.info/)上的正则表达式有点读了]? – Nightfirecat

回答

4

正则表达式下面会发现只有在他们里面ABC字符的所有单词。

Pattern regex = Pattern.compile("\\b[abc]+\\b"); 
    Matcher regexMatcher = regex.matcher(subjectString); 
    while (regexMatcher.find()) { 
     // matched text: regexMatcher.group() 
     // match start: regexMatcher.start() 
     // match end: regexMatcher.end() 
    } 
+0

感谢您的帮助。 :) – SachiraChin

+0

@Sach欢迎您:d – FailedDev

+0

抱歉打扰你,但没有任何其他办法找到这种字符串,而不是使用正则表达式的?任何可用于此的算法。 – SachiraChin

3

不担心的情况下为一个简单的例子

[AC] +

将之一或更多的字母的任意组合从AC匹配

[AFZ] +

将做同样的,F,Z

除了考虑的情况下,你还愿意要考虑什么constitues一个“字”(其前后空格或WH成功atever)?

+0

Java正则表达式支持'\ b'来匹配单词边界。 (这里的“字”是指“任何'\ w'匹配”,想必) – millimoose

+0

这将匹配abcbla blacbla等 – FailedDev

0
\\b[abc]+\\b 

\\b[a-c]+\\b 

[]表示character set,并+指1个或多个该组中的任何字符的repetitions\bword boundary,所以你只能匹配完整的单词。

Example.

+0

这也将匹配“fooabc”或“无所谓” – FailedDev

+0

@FailedDev赞成,我是在编辑的过程中,忘记了。 –

相关问题