引言:
今天群友问到一个查找文件流中广播IP的问题,可以使用indexOf(),substring()实现。写法也不难,只是维护比较麻烦。因此顺手写了段样例代码,欢迎新手围观。
此处略去,吹正则有多强大的200字,然后突出一下,遇到查找字符串问题的时候,建议先考虑正则。
正文:
不提取方法了,直接放在main里面看吧。另外,为了方便运行用了字符串装配了个reader,可能存在编码问题,这里提一下就不叨叨了。
代码如下:
/*
* Author :zhaoningbo
* Date :2012-4-9 下午04:17:17
* Email :zhaoningbo@hotmail.com
* Blog :http://zhaoningbo.iteye.com/
*/
package com.number.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class BufferedRegex {
public static void main(String[] args) throws IOException {
String patt = "broadcast \\d{1,3}.\\d{1,3}.\\d{1,3}.\\d{1,3} ";
BufferedReader reader = new BufferedReader(
new StringReader(
"netmask ffffff00 broadcast 192.168.1.255 \n " +
"ether 0:1e:67:7:8:d \n " +
"..........ff00 broadcast 192.168.200.255 ...." +
"...broadcast 192.168.200.100 \n"));
Pattern pattern = Pattern.compile(patt);
String strTemp;
while ((strTemp = reader.readLine()) != null) {
Matcher matcher = pattern.matcher(strTemp);
while (matcher.find()) {
System.out.print("----" + matcher.group());
}
System.out.println("END_LINE");
}
}
}
在jdk1.6_21运行结果:
----broadcast 192.168.1.255 END_LINE
END_LINE
----broadcast 192.168.200.255 ----broadcast 192.168.200.100 END_LINE
参考:
java常用正则表达式
分享到:
相关推荐
例如,你可以创建一个正则表达式对象,然后使用它来测试字符串是否符合特定模式,或者从字符串中提取匹配的子串。 在实际应用中,使用正则表达式可能涉及到以下步骤: 1. 创建正则表达式:定义你要匹配的模式,例如...
在Delphi编程环境中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换或提取符合特定模式的字符串。正则表达式引擎通常通过一个库或者内置函数提供,允许开发者编写灵活且复杂的字符串处理逻辑。在Delphi...
在 Sublime Text 中快速查找与字符串或正则表达式匹配的所有行。 如何过滤 在编辑 > 线菜单上: 使用正则表达式包含行 ⌘+K ⌘+R 包含带字符串的行 ⌘+K ⌘+S 使用正则表达式排除行 用字符串排除行 在编辑 > 代码...
正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串处理的各个领域。正则表达式转换工具是专门针对这一需求而设计的,它能帮助用户将输入的内容转换...
2. **查找**:在字符串中查找符合正则表达式的部分。 3. **替换**:用新的字符串替换匹配到的正则表达式部分。 4. **分割**:根据正则表达式将字符串分割成多个子串。 5. **捕获组**:提取匹配的子串,特别是对于...
《VB.NET字符串和正则表达式参考手册》是一本深入探讨VB.NET编程中字符串操作与正则表达式应用的专业指南。这本书旨在帮助开发者熟练掌握在.NET框架下,尤其是在VB.NET环境中处理字符串和运用正则表达式的技巧。 ...
- **错误检查**:提供更好的错误检测机制,帮助开发者发现和修复正则表达式中的问题。 - **Unicode支持**:对Unicode字符集有良好的支持,能处理多种语言的文本。 3. **正则表达式语法** - **量词**:如`*`, `+`...
在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...
正则表达式是一种强大的文本匹配模式,可以用来查找、替换或者提取满足特定模式的字符串。在SQL Server中,可以使用`LIKE`或`PATINDEX`函数进行简单的模式匹配,但正则表达式提供了更复杂的匹配规则,如贪婪与非贪婪...
正则表达式(Regular Expression,简称regex)是编程领域中一种强大的文本处理工具,它用于在字符串中查找、替换或匹配特定模式。在C语言中,实现正则表达式功能通常需要借助第三方库,比如本案例中提到的Henry ...
例如,`matches()`方法会检查整个输入字符串是否完全符合正则表达式,而`find()`则会在输入字符串中查找第一个匹配的部分。 在Java中,正则表达式的语法相当丰富,包括但不限于: 1. 字符集:`[]`用来定义一组字符...
`regex_match`检查输入的字符串是否完全匹配正则表达式,而`regex_search`则在字符串中查找是否存在符合正则表达式的部分。 3. **迭代器接口**:`regex_iterator`和`regex_token_iterator`允许你遍历输入字符串中...
在JavaScript(JS)中,正则表达式是一种强大的文本处理工具,可以用于匹配、查找、替换等操作。在本文中,我们将深入探讨如何利用正则表达式实现关键字的高亮显示,尤其适用于文本搜索和代码高亮场景。下面将详细...
正则表达式的核心是通过定义一系列字符和符号规则来匹配特定的字符串模式。 本书名为《正则表达式 必知必会》,作者是Ben Forta,这本书由杨涛等人翻译,由人民邮电出版社出版。它的出版,为程序员和开发人员提供了...
本文将详细介绍如何在文件中使用正则表达式查找不同的值,并去除重复项。 首先,我们需要理解什么是正则表达式。正则表达式是由字符、特殊符号和操作符组成的模式,用于匹配字符串。例如,`\d{3}-\d{4}`可以用来...
正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,用于匹配、查找、替换或提取特定模式的字符串。RegexTest.exe 是一个专门用于测试和解析正则表达式的应用程序,它可以帮助用户理解和调试...
正则表达式(Regular Expression)是一种模式匹配语言,用于在字符串中查找符合特定规则的模式。Java中的正则表达式主要通过`java.util.regex`包中的类来实现,如`Pattern`和`Matcher`。 在日志处理中,我们通常...
正则表达式是一种强大的文本处理工具,它能够帮助我们匹配、查找、替换等操作符合某种规则的字符串。在Java中,通过`java.util.regex`包提供了对正则表达式的支持。 ### 2. 邮箱地址验证 在实际应用中,经常需要...