0

在 Java 中,有没有一种方法可以在内部使用indexOf()lastIndexOf()使用正则表达式,例如在 中使用replaceAll(),以找出与字符串中的正则表达式匹配的索引(字符的第一个和最后一个索引)?

4

1 回答 1

0

例如,这里是一个正则表达式模式,它发现 3 个 'w' 彼此相邻。 m.find()尝试找到匹配项,如果成功则返回 true。通过使用m.start()after eachm.find()你得到找到匹配的第一个索引,m.end()你得到找到匹配的最后一个索引

Pattern p = Pattern.compile("w{3}");
Matcher m = p.matcher("www lskjdflkj www sdflkjslkjlk fsdlkfjww lksjfkjwww sldklk wwwlskjdflkjwwwlkjlj lkj");
    while(m.find())
    {
        System.out.println("start index:"+m.start()+", end index:"+m.end());
    }

输出:

start index:0, end index:3
start index:14, end index:17
start index:48, end index:51
start index:59, end index:62
start index:71, end index:74

您可以将找到的索引存储在 HashMap 或其他东西中以供以后使用(如果需要)

于 2019-09-20T15:36:50.193 回答