如何在“谢谢”和“此致”之间添加字符串文本
String emailtext= "Dear (RECIPIENT_PREFIX) (RECIPIENT_FIRST_NAME) (RECIPIENT_LAST_NAME),
Thank you for being a part.....................more text ......
Thank you for your time. Filling out these sections with ...more text.... for which you are chosen.
Sincerely,
xyz
adresss"
我尝试过:
String pattern = "(Thank)((.|\n)*)(?=Sincerely,)";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(emailtext);
if (m.find( )) {
System.out.println("Found value:" + m.group(0));
System.out.println("Found value:" + m.group(1));
System.out.println("Found value:" + m.group(2));
} else {
System.out.println("NO MATCH");
}
错误显示:
java.lang.StackOverflowError at java.util.regex.Pattern$CharProperty.match(Pattern.java:3692) at java.util.regex.Pattern$Branch.match(Pattern.java:4502) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556) at java.util.regex.Pattern$Loop.match(Pattern.java:4683) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615) at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466) at java.util.regex.Pattern$CharProperty.match(Pattern.java:3694) at java.util.regex.Pattern$Branch.match(Pattern.java:4502) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556) at java.util.regex.Pattern$Loop.match(Pattern.java:4683)
正确的 ans 应显示:
"Thank you for being a part.....................more text ......
Thank you for your time. Filling out these sections with ...more text.... for which you are chosen."
最佳答案
尝试一下:
String pattern = "(Thank)(.*)(?=Sincerely,)";
Pattern p = Pattern.compile(pattern,Pattern.DOTALL );
....
关于java - java 两个特定单词之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34665594/