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