`

正则表达式剖析

 
阅读更多

1.看个小例子先:

package com.wjy.pattern;

import java.io.PrintWriter;

public class Pattern1 {
	public static void main(String args[]) {
		PrintWriter out=new PrintWriter(System.out,true);
		
		out.println("-1234".matches("(-|\\+)?\\d*"));
	}
}

 matches函数中的就是大名鼎鼎的正则表达式。

                   \\W    :    非词字符(相当于:^\w)

                   \\w     :    词字符(a-zA-Z0-9)

                   \\D     :    非数字

                   \\d     :    数字

                   \\S     :    非空白符(相当于: ^\s)

                   \\s     :     空白符(空格,回车,换行,换页,tab)

                   ?      :      一个或零个

                   *      :      零个或多个

                   +      :      一个或多个

                   {n}     :      恰好n个

                  {n,}     :      至少n个

                  {n,m}     :      至少n个,不超过m个

看一个将指定目录下满足文件名要求的文件列出来的例子,这里用到了Pattern和Matcher:

               File pathFile=new File("./src/com/wjy/multithread/");
		String[] listStrings=pathFile.list(new DirFilter("M\\w+.?\\w+"));
		Arrays.sort(listStrings, String.CASE_INSENSITIVE_ORDER);
		for (String string : listStrings) {
			System.out.println(string);
		}

 而关键的类在下面:

package com.wjy.multithread;

import java.io.File;
import java.io.FilenameFilter;
import java.util.regex.Pattern;

public class DirFilter implements FilenameFilter{
	private final Pattern pattern;
	public DirFilter(String regex){
		pattern=Pattern.compile(regex);
	}
	@Override
	public boolean accept(File dir, String name) {
		// TODO Auto-generated method stub
		return pattern.matcher(name).matches();
	}

}

 

分享到:
评论

相关推荐

    正则表达式分析工具V2.0

    正则表达式分析工具V2.0,分析正则表达式的好帮手!

    正则表达式分析工具

    最小的正则表达式分析工具 只有24k大小,估计是最小的正则表达式分析工具了。但功能不差 <br>使用方法: 在上边框中输入 源文字,中间框中输入正则表达式 然后,点查看将在下边显示经过正则表达式匹配以及...

    NLP正则表达式分析程序

    基于JAVA开发的自然语言正则表达式分析 程序, netbeans

    正则表达式分析工具V1.9

    正则表达式分析工具V1.9 学习正则表达式的好帮手。

    Net开发辅助 正则表达式分析器 v1.0.7013.19149

    功能: 一个适用于.Net开发人员的正则表达式分析器,用于辅助编写测试正则表达式。支持仅执行选中的部分正则表达式。支持新版本检测(自动升级功能)。

    正则表达式 到 nfa dfa

    很好的能把正则表达式转化成 nfa 和DFA

    正则表达式完整高清版

    《正则指引》针对作者在开发中遇到的实际问题,以及其他开发人员咨询的问题,总结出一套使用正则表达式解题的办法,并通过具体的例子指导读者拆解、分析问题。全书分为三大部分:第一部分主要讲解正则表达式的基础...

    SQL 语法分析,正则表达式解析C#文件;正则表达式实现的语法分析引擎

    一些资料关于 SQL 语法分析;用正则表达式解析C#文件;使用正则表达式实现的语法分析引擎(C#源代码) ;SQL Server 2005正则表达式使模式匹配和数据提取变得更容易;

    Java使用正则表达式提取XML节点内容的方法示例

    主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作技巧,需要的朋友可以参考下

    正则表达式在语料库研究中的应用

    本文的研究目的在于厘清正则表达式的起源、概念和构造,并以任务驱动的方法,以几款常用的语料库工具为例,探讨正则表达式在文本清理、语料标注和检索等技术环节中的具体应用,从而进一步推动正则表达式在语料库研究中的...

    正则表达式简明教程及正则表达式语言元素

    正则表达式的全面样式匹配表示法使您可以快速分析大量文本以找到特定的字符样式,提取、编辑、替换或删除文本子字符串,或将提取的字符串添加到集合以生成报告。对于处理字符串(例如 HTML 处理、日志文件分析和 ...

    编译原理正则表达式转NFA转DFA DFA最小化 Cpp代码

    编译原理课的大作业 包含三个小实验 在一个cpp文件里 正则表达式转换为nfa nfa转换为dfa dfa最小化 个人原创代码

    在C++/CLI使用正则表达式分析字符串

    在C++/CLI使用正则表达式分析字符串 "one\ttwo three:four,five six seven"; 结果 pattern : '[a-zA-Z]*' text : 'one two three:four,five six seven' one two three four five six seven Number of Words : 7

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ASPNETValidator/...

    构造正则表达式的简化DFA算法

    构造正则表达式的简化DFA算法论文 介绍了构造等价于给定正则表达式的简化确定有限自动机(DFA) 的算 法. 方法是首先构造与正则表达式等价的非确定有限自动机(NFA) , 这里省略了构 造带E动作的有限自动机的操作, 然后...

    DFA NFA 正则表达式转换

    基于Java实现了DFA,NFA,DFA最小化,NFA转化为DFA以及正则表达式转化为NFA的算法,对于初学者来说,是学习词法分析的一份不错资源

    正则表达式生成器

    正则表达式自动生成器是一款功能丰富的表达式构建程序,通过本软件,您可以在程序中快速设计出表达式,非常简单: 1、选择源文本或者手工拷入需要分析的内容 2、选中提取词 3、选择限定词 生成后,可以按要求生成...

    正则表达式测试器(v2.0.0)安装版(测试和分析正则表达式)

    正则表达式测试器安装版该工具允许你测试和分析正则表达式。 Regester 说明:该工具允许你测试和分析正则表达式。 最近更新 2.0.0(2017.6) 基于 WPF/.Net 4.5 的全新改版, 增加中英语言界面切换功能 功能简介 ...

    MySQL正则表达式

    MySQL正则表达式使用方式详细解释 案例分析 资料总结规则 正则表达式 详细内容简介 学习内容 MySQL进阶必学内容

    js常用正则表达式

    javascript常用正则表达式,很实用,很方便

Global site tag (gtag.js) - Google Analytics