java正则匹配多次
时间: 2023-08-10 18:12:32 浏览: 46
如果你想要匹配一个正则表达式多次,可以使用循环和Matcher类的find()方法。下面是一个示例代码:
```
String text = "This is a sample text";
String pattern = "is";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(text);
int count = 0;
while (m.find()) {
count++;
System.out.println("Match number " + count);
System.out.println("start(): " + m.start());
System.out.println("end(): " + m.end());
}
```
在上面的代码中,我们使用正则表达式"is"来匹配字符串"This is a sample text"。我们使用Pattern类将正则表达式编译成一个模式,然后使用Matcher类将模式应用于输入字符串。在while循环中,我们使用find()方法来查找文本中的下一个匹配项。每次找到一个匹配项时,我们打印出匹配项的开始位置和结束位置。最后,我们打印出匹配的总数。
如果你想要匹配一个正则表达式的所有实例,可以使用replaceAll()方法。例如:
```
String text = "This is a sample text";
String pattern = "is";
String replacement = "was";
String newText = text.replaceAll(pattern, replacement);
System.out.println(newText);
```
在上面的代码中,我们使用replaceAll()方法将字符串中的所有匹配项替换为"was"。输出结果是:"Thwas was a sample text"。