2014-03-29 64 views
-1

我正在學習Java,我有一個簡單的問題,但我卡住了。是否有可用於解決此問題的通配符?

我需要搜索文字「bob」的字符串,除了「o」可以是任何字符。 我可以使用通配符還是其他更簡單的方法?

預先感謝

+1

您可能會從相關的javadoc開始:http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html –

+0

另請參閱[Lesson:Regular Expressions](http ://docs.oracle.com/javase/tutorial/essential/regex/index.html)。 – 2014-03-29 14:35:48

回答

0

此正則表達式整個字的起始相匹配,並且帶「B」與之間的任何字母數字(或下劃線)字符結束:

\bb\wb\b 

要匹配任何小寫字母之間,使用

\bb[a-z]b\b 

要匹配,使用之間的任何

\bb[a-zA-Z]b\b 

爲了逃避這些爲Java字符串,改變每個\到\\

1

您可以使用matches()方法與正確的正則表達式:

if (str.matches(".*b.b.*")) 

注意,正則表達式必須匹配整個字符串返回true

如果你想匹配「鮑勃」,你需要「字邊界」:

if (str.matches("(?i).*\\bb[a-z]b\\b.*")) 

注意「不區分大小寫」標誌已被添加到允許任何情況下匹配。