查找的下标。
不管是查找还是替换,每次执行了查找或者替换方法后,查找下标都会移动。start方法可以得到现在查找到哪个字符的位置。
(find()每次只匹配一个符合的子字符串 start方法可以提取到以及匹配到哪里了,也就是下标。)
replaceAll()会将所有满足的字符串都替换,他会将查找的下标移到最后满足的位置,
所以当调用了replaceAll()后,在调用find()就会从最后满足的位置的后一个位置查找,也就找不到了。
替换当前find位置
1、 Matcher appendReplacement(StringBuffer sb, String replacement)
实现非终端添加和替换步骤。
方法 1 将满足的以及前面的所有字符串赋给sb ,后面不符合的不管。
调用这个方法前需要先find()
如果找到了才可以替换
方法1是如果找到了将当前这个find的位置替换,然后将包括这个字符串以及以前的字符串给sb这个缓存字符串,它也会将查找下标移动
2、StringBuffer appendTail(StringBuffer sb)
实现终端添加和替换步骤。
将后面全部不满足的字符串,添加到sb的后面
********将符合要求的(不区分大小写)并且第奇数个位置额字符替换掉*************
package com.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestMatcher {
/**
* @param args
*/
public static void main(String[] args) {
String s = "i java jAva java java java java you heate jAva asdfasdaf";
Pattern pt = Pattern.compile("java", Pattern.CASE_INSENSITIVE);
Matcher mc = pt.matcher(s);
int i = 0;
int num = 0;
StringBuffer buf = new StringBuffer();
while (mc.find()) {
mc.find();
if (num++ % 2 == 0) {
mc.appendReplacement(buf, "JAVA");
}
}
mc.appendTail(buf);
System.out.println(buf);
System.out.println(i);
}
}
相关推荐
RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ASPNETValidator/...
正则表达式是一种强大的文本处理工具,能够帮助我们完成复杂的字符串搜索、替换和解析任务。在Java编程中,正则表达式主要通过`java.util.regex`包中的`Pattern`和`Matcher`类来实现。本文将详细阐述如何在Java中...
- Java 中的正则表达式功能主要通过 `java.util.regex` 包下的 `Pattern` 类和 `Matcher` 类来实现。 - 首先导入所需的包: ```java import java.util.regex.Pattern; import java.util.regex.Matcher; ``` 2...
【JAVA正则表达式实例教程】是一份详细的教学文档,主要涵盖了正则表达式的基本概念、常用符号、实例解析以及Java中如何运用正则表达式。以下是对这些内容的详细阐述: 1. **正则表达式基础知识** - **定义**:...
在Java编程语言中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能够帮助开发者进行复杂的字符串搜索和替换操作。Java中的正则表达式功能主要通过`java.util.regex`包来实现,该包提供了两个核心...
在给定的实例中,我们看到如何使用Java的`Pattern`和`Matcher`类来实现基于正则表达式的文本替换功能。以下是对这个经典实例的详细解析: 首先,我们需要导入`java.util.regex.Matcher`和`java.util.regex.Pattern`...
在 Java 中,`java.util.regex` 包提供了用于执行正则表达式操作的类,包括 `Pattern` 和 `Matcher`。 #### Pattern 类详解 `Pattern` 类是用于编译正则表达式的类。它可以将正则表达式编译为可执行的形式,以便...
通过示例代码和解释,我们深入了解了如何利用Java中的`Pattern`、`Matcher`以及`String`类来进行正则表达式的编译、匹配和操作。此外,还介绍了如何处理特殊字符、找出匹配结果的位置、进行字符串替换以及使用正则...
在上述代码中,`removeScriptTags`方法使用了正则表达式来查找并替换所有的`<script>`标签。`Pattern.compile`用于编译正则表达式,`DOTALL`标志使`.`可以匹配任何字符,包括换行符。`Matcher`对象的`find`方法遍历...
随着移动互联网技术的不断进步和HTML5等现代标准的普及,虽然WAP技术已逐渐淡出历史舞台,但该过滤器的实现思路和方法仍然为理解不同Web技术间的转换和兼容性问题提供了有价值的参考。 总之,“wap代码html过滤器...
Java Web 笔试题目主要涉及了数据库操作和正则表达式替换等方面的知识,下面将对这些知识点进行详细解析。 首先,我们来看第一个问题,如何转置数据库表。这是一个关于SQL查询的问题,要求只使用一条语句来实现二维...
总结起来,将Markdown格式文本转换为纯文本在Java中可以通过正则表达式或者使用专门的解析库来实现。尽管直接的解决方案可能较少,但通过理解和利用Markdown的规则,我们可以构建自己的转换逻辑,或者选择现有的库来...
这可以通过正则表达式实现: ```java String text = "你好,:-)!"; Pattern pattern = Pattern.compile("\\:\\-\\)|\\;\\-\\)|\\:\\)|\\:\\-\\(|..."); // 添加更多表情代码 Matcher matcher = pattern.matcher...