今天同事的一个问题,我写了个demo,替换掉文本中的满足IP格式的字符串,替换成需要更改的。
IP格式没有严格写,简单弄个demo。这个可以演变成查询日志,替换或者标红关键字等。
对于其中的正则等java类可参看http://www.cnblogs.com/playing/archive/2011/03/15/1984943.html
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestFile
{
static final String REGEX_IPV4 = "(\\d{1,3}\\.){3}\\d{1,3}";
static final String ENCODE = "UTF-8";
BufferedReader br = null;
BufferedWriter bw = null;
public void copyFile(String ip) throws IOException
{
try {
Pattern pattern = Pattern.compile(REGEX_IPV4);
br = new BufferedReader(new InputStreamReader(new FileInputStream(
"d:/A.txt"), ENCODE));
bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("d:/B.txt")));
String line = null;
while ((line = br.readLine()) != null) {
StringBuffer sbr = new StringBuffer();
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
// 有字符串fatcatfatcatfat,假设既有正则表达式模式为"cat",第一次匹配后调用appendReplacement(sb,"dog"),那么这时StringBuffer
// sb的内容为fatdog,也就是fatcat中的cat被替换为dog并且与匹配子串前的内容加到sb里,而第二次匹配后调用appendReplacement(sb,"dog"),那么sb的内容就变为fatdogfatdog,如果最后再调用一次appendTail(sb),那么sb最终的内容将是fatdogfatdogfat。
matcher.appendReplacement(sbr, ip);
}
// 将最后一次匹配工作后剩余的字符串添加到一个StringBuffer对象里
matcher.appendTail(sbr);
bw.write(sbr.toString());
bw.newLine();
}
} catch (IOException e) {
} finally {
bw.close();
br.close();
}
}
public static void main(String[] args) throws IOException
{
new TestFile().copyFile("255.255.255.0");
}
}
分享到:
相关推荐
例如,"子程序_正则文本替换"可能就是一个易语言中用于执行正则表达式替换的子程序,它接收输入的文本、正则表达式模式和替换字符串,然后返回经过替换操作的新文本。 1. **正则表达式基础** - **元字符**:如`.`...
而本软件正是把强大的正则功能完美地添加到表格中,让 Excel、WPS 支持正则表达式的搜索、匹配提取、替换、定位等,让数据处理能力进化一个层次! 让 Office Excel、WPS 表格支持正则表达式的免费插件:「Excel ...
"正则表达式替换文本"是指利用正则表达式的规则,对文本中的特定模式进行查找并替换的操作,这在文本处理中非常常见。 正则表达式的基本元素包括: 1. **字符**:例如"a", "b", "#"等,它们可以匹配自身。 2. **元...
例如,“正则表达式查找”命令可以找到字符串中所有匹配的子串,“正则表达式替换”则可以将匹配的子串替换成新的内容。 在编程实践中,我们可能会遇到一些挑战,如性能优化、错误处理等。例如,如果待处理的字符串...
例如,对于一个新闻网站,可以利用正则表达式类匹配中文源码来提取文章标题或关键词,或者在用户输入的搜索查询中进行模糊匹配,提高搜索效率。 通过易语言提供的正则表达式类,我们可以高效地处理中文文本,进行...
(xxexpr)函数用于对字符串进行正则表达式替换,返回替换后的字符串。 在CAD二次开发软件LISP中应用正则表达式可以解决许多文本编辑的问题,例如,提取字符串中的特定模式、替换字符串中的某些内容等。同时,正则...
在Lucene中,可以通过`regexQuery`来利用正则表达式进行复杂条件的匹配,从而实现更精确的搜索需求。 #### regexQuery详解 `regexQuery`是Lucene提供的一个用于执行正则表达式查询的方法。它接受一个`Term`对象作为...
在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够进行复杂的模式匹配、查找、替换等操作。在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则...
Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...
正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串处理的各个领域。正则表达式转换工具是专门针对这一需求而设计的,它能帮助用户将输入的内容转换...
标题中的“pb 使用正则表达式源码pbregexp”指的是在PowerBuilder(简称pb)环境中,利用名为“pbregexp”的正则表达式组件来实现源代码级别的正则表达式操作。PowerBuilder是一款流行的可视化的、面向对象的软件...
正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索。在C#编程语言中,正则表达式被广泛应用于数据验证、文本提取、格式转换等多个场景。本项目提供了一个C#编写的正则表达式测试工具,包含完整...
正则表达式替换工具1.1.0.9是一款专为处理文本字符串而设计的强大工具,它能够帮助用户测试和执行正则...通过正则表达式替换工具1.1.0.9,用户可以更方便地应用这些正则表达式规则,解决实际工作中的各种文本处理需求。
下面将详细探讨正则表达式的基本概念、在VB.NET中的应用以及如何使用它们进行文本匹配。 1. 正则表达式基础 - **模式匹配**:正则表达式是一种特殊的字符序列,用于定义字符串的搜索模式。 - **元字符**:如 `.`...
1. **文本搜索**:利用正则表达式快速定位文本中的特定模式。 2. **数据验证**:如邮箱格式验证、日期格式验证等。 3. **文本替换**:基于模式对文本进行替换操作,如去除HTML标签、转换大小写等。 4. **数据提取**...
4. **替换函数**:例如`正则表达式替换`,可以将匹配到的模式替换为新的文本,常用于数据清洗和格式化。 5. **分组与反向引用**:正则表达式可以捕获匹配的子串,用括号`()`定义分组,后续的替换操作可以引用这些...
3. **正则表达式(Regular Expression)**:正则表达式是一种模式匹配语言,用于在字符串中搜索、替换或提取特定模式。例如,我们可以用正则表达式确保密码包含大写字母、小写字母、数字和特殊字符,以提高其安全性...
总的来说,MFC的正则表达式类库提供了一个高效且易于使用的接口,使得VC++开发者能够方便地在Windows应用程序中处理复杂文本模式。了解并熟练掌握这些类和方法,有助于提升文本处理部分的代码质量及效率。
正则表达式(Regular Expression,简称regex)是编程领域中一种强大的文本处理工具,它用于在字符串中查找、替换或匹配特定模式。在C语言中,实现正则表达式功能通常需要借助第三方库,比如本案例中提到的Henry ...
在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...