`
zhaoningbo
  • 浏览: 609539 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
引言:

    今天群友问到一个查找文件流中广播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
1
分享到:
评论

相关推荐

    快速查找与字符串或正则表达式匹配的所有行_Python_代码_相关文件_下载

    在 Sublime Text 中快速查找与字符串或正则表达式匹配的所有行。 如何过滤 在编辑 > 线菜单上: 使用正则表达式包含行 ⌘+K ⌘+R 包含带字符串的行 ⌘+K ⌘+S 使用正则表达式排除行 用字符串排除行 在编辑 > 代码...

    正则表达式.doc 验证字符串

    正则表达式.doc 详细讲解了正则表达式。 正则表达式可以用来:(1)验证字符...(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。(3)用来替换,比普通的替换更强大。

    正则表达式30分钟入门教程

    文本格式约定:专业术语 元字符/语法格式 正则表达式 正则表达式中的一部分(用于分析) 用于在其中搜索的字符串 对正则表达式或其中一部分的说明清除格式 ●什么是正则表达式? 在编写处理字符串的程序或网页时,...

    正则表达式学习教程

    清除格式 文本格式约定:专业术语 元字符/语法格式 正则表达式 正则表达式中的一部分(用于分析) 对其进行匹配的源字符串 对正则表达式或其中一部分的说明 隐藏边注 本文右边有一些注释,主要是用来提供一些相关信息...

    精通正则表达式~~~

    作为正则表达式的字符串... 101 字符编码... 105 正则模式和匹配模式... 110 常用的元字符和特性... 113 字符表示法... 115 字符组及相关结构... 118 锚点及其他“零长度断言” 129 注释和模式量词... 135 ...

    正则表达式

    例如,我们下面的一个例程就是在一个HTML文件中通过查找字符串模式来定位所有的超链接。 当然,为了指定一种模式,使用...这种记号是不够精确的。你需要精确地指定什么样的字符排列是一个合法的匹配。当描述某种...

    正则表达式经典实例

    2.18 向正则表达式中添加注释 2.19 在替代文本中添加字面文本 2.20 在替代文本中添加正则匹配 2.21 把部分的正则匹配添加到替代文本中 2.22 把匹配上下文插入到替代文本中 第3章 使用正则表达式编程 3.1 在源...

    批处理 正则表达式(findstr) 整理

    Findstr使用正则表达式搜索文件中的文本模式。

    正则表达式经典实例.pdf

    2.18 向正则表达式中添加注释 2.19 在替代文本中添加字面文本 2.20 在替代文本中添加正则匹配 2.21 把部分的正则匹配添加到替代文本中 2.22 把匹配上下文插入到替代文本中 第3章 使用正则表达式编程 3.1 在源代码中...

    正则表达式相关资料

    例如,我们下面的一个例程就是在一个HTML文件中通过查找字符串模式来定位所有的超链接。 当然,为了指定一种模式,使用...这种记号是不够精确的。你需要精确地指定什么样的字符排列是一个合法的匹配。当描述某种...

    正则表达式教程

    正则表达式教程  正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 <br>列目录时, dir *....

    多文件查找字符串.bat

    查找范围是当前目录与子目录,目标文本文件,输入字符串就可进行快速查找文件

    C#中常用的正则表达式实例

    目前为止,许多编程语言和工具都包含对正则表达式的支持,C#也不例外,C#基础类库中包含有一个命名空间(System.Text.RegularExpressions)和一系列可以充分发挥规则表达式威力的类(Regex、Match、Group等)。...

    python实现的正则表达式功能入门教程【经典】

    例如我们要判断字符串”adi_e32fv,Ls”里面是否含有子串”e32f”,又例如我们在一个含百万个姓名的txt文件中找姓“王”,名字以“五”结尾的名字,然后打印出来。结果为:“王五”、“王小五”、“王大五”、“王...

    正则表达式30 分钟入门教程

    很可能你使用过Windows/Dos 下用于文件查找的通配符...比如你可以编写一个正则表达式来查找所有以0 开头,后面跟着2-3 个数 字,然后是一个连字号“-”,最后是7 或8 位数字的字符串(像010-12345678 或0376-7654321)。

    Shell正则表达式学习笔记

    正规表示法(或称为常规表示法)是透过一些特殊字符的排列,用以搜寻/取代/删除一列或多列文字字符串, 简单的说,正规表示法就是用在字符串的处理上面的一项...用来在文件中匹配符合条件的字符串,正则表达式是“包含匹

    Linux 正则表达式详解

    3.fgrep : 快速grep,这个版本匹配固定字符串而非正则表达式。并且是唯一可以并行匹配多个字符串的版本。 如下简单的介绍grep命令: 语法格式: grep [options …] pattern-spec [files …] 用途: 匹配一个或多个...

Global site tag (gtag.js) - Google Analytics