请考虑以下文字:
String tempStr =
"$#<div style=\"text-align:left;\">$#Order-CAS No#$</div>$#abc#$";
Pattern p = Pattern.compile("(?<=\\$#)(\\w*)(?=#\\$)");
Matcher m = p.matcher(tempStr);
List<String> tokens = new ArrayList<String>();
while (m.find()) {
System.out.println("Found a " + m.group() + ".");
但它只给我abc ..我想要回答为Order-CASNo和abc。
答案 0 :(得分:4)
表达式\\w*
与连字符或空格不匹配。请改为[\\w\\s-]*
。
Pattern p = Pattern.compile("(?<=\\$#)([\\w\\s-]*)(?=#\\$)");
在此处阅读有关角色类的更多信息:
答案 1 :(得分:0)
终于得到了解决方案。
Pattern p = Pattern.compile("(?<=\\$#)([\\w-\\s\\w]*)(?=#\\$)");