我正在尝试获取输入字符串中与给定模式匹配的所有子字符串.
例如,
给定字符串:aaxxbbaxb
模式:a [az] {0,3} b
(我实际想要表达的是:所有以a开头并以b结尾的模式,但它们之间最多可包含2个字母)
我想要的确切结果(及其索引):
aaxxb:index 0~4
axxb:index 1~4
axxbb:index 1~5
axb:index 6~8
但是当我使用Pattern.compile()和运行Pattern和Matcher类时Matcher.find(),它只给了我:
aaxxb:index 0~4
axb:index 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());
}
Run Code Online (Sandbox Code Playgroud)
如何检索与模式匹配的每一个字符串?
当然,它不必使用Pattern和Matcher类,只要它有效:)