在 Java 中,有没有一种方法可以在内部使用indexOf()
或lastIndexOf()
使用正则表达式,例如在 中使用replaceAll()
,以找出与字符串中的正则表达式匹配的索引(字符的第一个和最后一个索引)?
问问题
82 次
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 回答