这是字符串:
1. "AAA BBB CCCCC CCCCCCC"
2. " AAA BBB DDDD DDDD DDDDD"
3. " EEE FFF GGGGG GGGGG"
第一个单词和第二个单词的开头和之间的空格可以不同。
所以我需要一个RegEx删除第三个单词之前的所有内容,以便它总是返回
“ CCCCC CCCCCCC”或“ DDDD DDDD DDDDD”或“ GGGGG GGGGG”。
假设它可以通过RegEx完成,而不是解析字符串中的所有单词
最佳答案
此正则表达式将起作用
\s*\w+\s+\w+\s+(.+$)
Regex Demo
JAVA代码
String pattern = "(?m)\\s*\\w+\\s+\\w+\\s+(.+$)";
String line = "AAA BBB CCCCC CCCCCCC\n AAA BBB DDDD DDDD DDDDD\n EEE FFF GGGGG GGGGG";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(line);
while (m.find()) {
System.out.println("Found value: " + m.group(1) );
}
Ideone Demo
关于java - 如何通过RegEx或replaceAll删除包含特殊字符的字符串部分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36871445/