我正在尝试获取输入字符串中与给定模式匹配的所有子字符串。
例如,
给定字符串:aaxxbbaxb
模式:a[az]{0,3}b
(我真正想表达的是:所有以a开头和以b结尾的模式,但它们之间最多可以有2个字母)
我想要的确切结果(及其索引):
aaxxb:索引 0~4
axxb:索引 1~4
axxbb:索引 1~5
axb:索引 6~8
Pattern.compile()
但是当我使用and通过 Pattern 和 Matcher 类运行它时Matcher.find()
,它只给了我:
aaxxb : 索引 0~4
axb : 索引 6~8
这是我使用的一段代码。
Pattern pattern = Pattern.compile("a[a-z]{0,3}b", Pattern.CASE_INSENSITIVE);
Matcher match = pattern.matcher("aaxxbbaxb");
while (match.find()) {
System.out.println(match.group());
}
如何检索与模式匹配的每一段字符串?
当然,它不必使用 Pattern 和 Matcher 类,只要它是高效的 :)