相关疑难解决方法(0)

Java递归(?)重复(?)深(?)模式匹配

我正在尝试获取输入字符串中与给定模式匹配的所有子字符串.

例如,

给定字符串: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类,只要它有效:)

java regex matcher

5
推荐指数
1
解决办法
3153
查看次数

标签 统计

java ×1

matcher ×1

regex ×1