如何编写一个正则表达式,该正则表达式将匹配以大写字母开头并以特定单词结尾的单词或一组单词。
示例:
string = {"the company is named Oracle Corporation",
"JP Morgan & Chase Corporation is under pressure"}
我需要获得以下内容:"Oracle Corporation"
和"JP Morgan & Chase Corporation"
答案 0 :(得分:0)
怎么样
'\s[A-Z].*Corporation\b'
\s
匹配空格。 [A-Z]
匹配大写字母。 .*
绝对匹配任何内容。 Corporation
匹配“公司”。 \b
匹配单词的结尾。
另请参阅:http://www.vogella.com/articles/JavaRegularExpressions/article.html
答案 1 :(得分:-1)
这可能会帮助您入门。它不是一个正则表达式,但我认为你会有更多的灵活性。
public class Test {
public static void main(String[] args) {
String test = "the company is named Oracle Corporation, and JP Morgan & Chase Corporation is under pressure";
String[] split = test.split("\\s");
StringBuilder sb = new StringBuilder();
for (String s : split) {
if (s.substring(0, 1).matches("[A-Z&]")) {
sb.append(s).append(" ");
}
}
System.out.println(sb.toString());
}
}