Java中用于按仅大写字拆分字符串的正则表达式
我有这个Java中用于按仅大写字拆分字符串的正则表达式,java,regex,Java,Regex,我有这个 String bigWord = "I AM LOUD But also sensitive"; String[] words = bigWord.split("[^A-Z| ]"); 我希望列表中的第一个条目是“我很大声”,第二个条目是“但也很敏感” 上面的正则表达式几乎有效,但它捕获了第二个条目的第一个字母 我很大声 如何解决此问题?使用Matcher类,以便轻松获取组 String bigWord = "I AM LOUD But also sensitive"
String bigWord = "I AM LOUD But also sensitive";
String[] words = bigWord.split("[^A-Z| ]");
我希望列表中的第一个条目是“我很大声”,第二个条目是“但也很敏感”
上面的正则表达式几乎有效,但它捕获了第二个条目的第一个字母
我很大声
如何解决此问题?使用Matcher类,以便轻松获取组
String bigWord = "I AM LOUD But also sensitive";
Pattern pattern = Pattern.compile("([A-Z ]+)? ([A-Z]?.*)");
Matcher matcher = pattern.matcher(bigWord);
while(matcher.find()){
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
}
输出:
I AM LOUD
But also sensitive
regexp中的键是:
一组大写单词一个空格一组混合字符LOUD后面的空格字符应该在第一个字符串还是第二个字符串中?