3
我有一個大的文本文件。我試圖找到所有的短語(任何2個字的序列)。下面的正則表達式能夠做到這一點嗎?Java的正則表達式來查找2個單詞的短語
Pattern p = Pattern.compile("\w+\s{1}\w+");
我試過了,但它不工作。
我有一個大的文本文件。我試圖找到所有的短語(任何2個字的序列)。下面的正則表達式能夠做到這一點嗎?Java的正則表達式來查找2個單詞的短語
Pattern p = Pattern.compile("\w+\s{1}\w+");
我試過了,但它不工作。
您的RegEx應該可以工作。以下是一個Java的實現:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String html = "ed ut perspiciatis, unde omnis iste natus error! sit 'voluptatem' " +
"accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo " +
"inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. " +
"Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, " +
"sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt." +
" Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, " +
"adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et " +
"dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis " +
"nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid " +
"ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea " +
"voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem " +
"eum fugiat quo voluptas nulla pariatur?";
Pattern p = Pattern.compile("\\w+\\s\\w+");
Matcher m = p.matcher(html);
while (m.find()) {
System.out.println(m.group());
}
}
}
給出了這樣的(剪斷)輸出:
ed ut
unde omnis
iste natus
accusantium doloremque
totam rem
eaque ipsa
quae ab
illo inventore
veritatis et
quasi architecto
beatae vitae
dicta sunt
Nemo enim
ipsam voluptatem
quia voluptas
sit aspernatur
aut odit
aut fugit
...
你嘗試了嗎? http://gskinner.com/RegExr/ – Bryan
我沒有得到你。你可以舉一些你想要的例子嗎? – gprathour
你應該詳細說明你的意思是「不工作」。根據您給出的內容,我認爲您的問題可能是您沒有逃避正則表達式中的斜槓。 – Bryan