2012-12-09 56 views

回答

0

你用「+」來表示,在獲得正確的想法取代它至少一個,但使用「[\ w \。] +」匹配任何字符或句點字符串。

這將匹配喜歡的東西 「在foo.bar foo.bar」 或 「富....欄foo..bar」:

Pattern p = Pattern.compile("\\w+\\.+\\w+\\sat\\s\\w+\\.+\\w+"); 

這將匹配像「foo.bar東西foo.bar」或 「在foo.bar.bar foo.foo.bar」:

Pattern p = Pattern.compile("\\w+\\.[\\w\\.]+\\sat\\s\\w+\\.[\\w\\.]+" 

之間的差 「W + \ + \ \ W +」 和 「[\ W \。] +」 是。第一種形式將匹配至少一個單詞字符,後跟至少一個句點,後跟至少一個單詞字符,而第二種形式將匹配單詞字符和句點的任意混合。

1
\w+\.\w+\s+at\s+\w+\.\w+ 

比賽

dave.andersen在gmail.com

但不是:

出現在SOSP

或:

盯着現在

編輯:

\w+\.[\w\.]+\s+at\s+\w+\.[\w\.]+ 

比賽data.anderson at gmail.commy.fair.lady at gmail.com

+0

我的意思是至少出現一次,而不是隻有一個:) –

0

可能是你可以試試這個

\w+\.\w+\sat\s\w+\.\w+ 

這將確保「。」出現在單詞之間。

這裏是重新定義的版本,前後只有一個點匹配「的」

你可以用

^[a-zA-Z0-9]+\.[a-zA-Z0-9]+\sat\s[a-zA-Z0-9]+\.[a-zA-Z0-9]+$ 
+0

但它也可能有不止一個點:) –

相關問題