2012-03-14 93 views
0

我想用正則表達式「A. * B」分割一個字符串,它很好地檢索'A'和'B'之間的字符串。但點'。'不包括換行符\ n,\ r。 你可以請指導我如何實現這一目標?使用正則表達式在java中分割一個字符串

感謝


感謝所有。 Pattern.DOTALL像一個魅力。

我有與此有關的另一個問題。如果我需要提取'A'和'B'之間的所有字符串(基本上匹配上述正則表達式),應該做些什麼。

我嘗試使用匹配器類的find()和group(),但下面的模式似乎返回整個字符串。

Pattern p = Pattern.compile("A.*B",Pattern.DOTALL);

+1

呢'A * B'工作? – 2012-03-14 11:27:51

+0

沒有..我已經試過了。 – Leo 2012-03-14 12:50:34

回答

0

看一看java.util.regex.Pattern.compile(字符串的正則表達式,詮釋標誌),ESP。在DOTALL標誌

1

使用java.util.regex.Pattern中與MULTILINE標誌:

import java.util.regex.Pattern; 

Pattern pattern = Pattern.compile("A.*B", Pattern.MULTILINE); 
pattern.split(string); 
1

嘗試「A [\ \ s] * B「

或者您可以指定DOTALL開關,以便」。「將包括甚至行終止符。看一看Pattern類的文檔。

1

編譯正則表達式使用此選項:[。\ n \ r] Pattern regex = Pattern.compile("A.*B",Pattern.DOTALL)

相關問題