我正在尝试在 Java 中使用正则表达式来匹配<b><number></b>
包含在一<a><\a>
对中的所有表单字符串。
eg应该与and<a> kljsdlk <b>123</b> df <b>345</b> sdfklj</a>
匹配两次,而应该不会产生任何结果(因为没有 wrapping )。<b>123</b>
<b>345</b>
<v> kljsdlk <b>123</b> df <b>345</b> sdfklj</v>
<a></a>
以下代码是我目前最好的结果:
Pattern MY_PATTERN = Pattern.compile("(<a>.*(<b>[0-9]*<\\\\b>)?.*<\\\\a>)");
Matcher m = MY_PATTERN.matcher("<a> skdjlkasjflkj <b>200<\\b> sldfhjhfj d lkj b <b>300<\\b> fhih 9 09 <\\a>");
while (m.find()) {
for (int i=0; i< m.groupCount() ;i++){
String s = m.group(i);
System.out.println(s);
}
}
此代码结果为:
<a> skdjlkasjflkj <b>200<\b> sldfhjhfj d lkj b <b>300<\b> fhih 9 09 <\a>
<a> skdjlkasjflkj <b>200<\b> sldfhjhfj d lkj b <b>300<\b> fhih 9 09 <\a>
我希望它导致:
<b>200<\b>
<b>300<\b>