引言:
今天群友问到一个查找文件流中广播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常用正则表达式
分享到:
相关推荐
在 Sublime Text 中快速查找与字符串或正则表达式匹配的所有行。 如何过滤 在编辑 > 线菜单上: 使用正则表达式包含行 ⌘+K ⌘+R 包含带字符串的行 ⌘+K ⌘+S 使用正则表达式排除行 用字符串排除行 在编辑 > 代码...
正则表达式.doc 详细讲解了正则表达式。 正则表达式可以用来:(1)验证字符...(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。(3)用来替换,比普通的替换更强大。
文本格式约定:专业术语 元字符/语法格式 正则表达式 正则表达式中的一部分(用于分析) 用于在其中搜索的字符串 对正则表达式或其中一部分的说明清除格式 ●什么是正则表达式? 在编写处理字符串的程序或网页时,...
清除格式 文本格式约定:专业术语 元字符/语法格式 正则表达式 正则表达式中的一部分(用于分析) 对其进行匹配的源字符串 对正则表达式或其中一部分的说明 隐藏边注 本文右边有一些注释,主要是用来提供一些相关信息...
作为正则表达式的字符串... 101 字符编码... 105 正则模式和匹配模式... 110 常用的元字符和特性... 113 字符表示法... 115 字符组及相关结构... 118 锚点及其他“零长度断言” 129 注释和模式量词... 135 ...
例如,我们下面的一个例程就是在一个HTML文件中通过查找字符串模式来定位所有的超链接。 当然,为了指定一种模式,使用...这种记号是不够精确的。你需要精确地指定什么样的字符排列是一个合法的匹配。当描述某种...
2.18 向正则表达式中添加注释 2.19 在替代文本中添加字面文本 2.20 在替代文本中添加正则匹配 2.21 把部分的正则匹配添加到替代文本中 2.22 把匹配上下文插入到替代文本中 第3章 使用正则表达式编程 3.1 在源...
Findstr使用正则表达式搜索文件中的文本模式。
2.18 向正则表达式中添加注释 2.19 在替代文本中添加字面文本 2.20 在替代文本中添加正则匹配 2.21 把部分的正则匹配添加到替代文本中 2.22 把匹配上下文插入到替代文本中 第3章 使用正则表达式编程 3.1 在源代码中...
例如,我们下面的一个例程就是在一个HTML文件中通过查找字符串模式来定位所有的超链接。 当然,为了指定一种模式,使用...这种记号是不够精确的。你需要精确地指定什么样的字符排列是一个合法的匹配。当描述某种...
正则表达式教程 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 <br>列目录时, dir *....
查找范围是当前目录与子目录,目标文本文件,输入字符串就可进行快速查找文件
目前为止,许多编程语言和工具都包含对正则表达式的支持,C#也不例外,C#基础类库中包含有一个命名空间(System.Text.RegularExpressions)和一系列可以充分发挥规则表达式威力的类(Regex、Match、Group等)。...
例如我们要判断字符串”adi_e32fv,Ls”里面是否含有子串”e32f”,又例如我们在一个含百万个姓名的txt文件中找姓“王”,名字以“五”结尾的名字,然后打印出来。结果为:“王五”、“王小五”、“王大五”、“王...
很可能你使用过Windows/Dos 下用于文件查找的通配符...比如你可以编写一个正则表达式来查找所有以0 开头,后面跟着2-3 个数 字,然后是一个连字号“-”,最后是7 或8 位数字的字符串(像010-12345678 或0376-7654321)。
正规表示法(或称为常规表示法)是透过一些特殊字符的排列,用以搜寻/取代/删除一列或多列文字字符串, 简单的说,正规表示法就是用在字符串的处理上面的一项...用来在文件中匹配符合条件的字符串,正则表达式是“包含匹
3.fgrep : 快速grep,这个版本匹配固定字符串而非正则表达式。并且是唯一可以并行匹配多个字符串的版本。 如下简单的介绍grep命令: 语法格式: grep [options …] pattern-spec [files …] 用途: 匹配一个或多个...