Regex正则表达式的使用

正则表达式是用来描述某些字符串规则的工具,可以用此规则来做查询匹配、替换、删除。

正则表达式详细介绍1:

http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html#mission

正则表达式详细介绍2:

http://msdn.microsoft.com/zh-cn/library/28hw3sce(v=vs.80).aspx

正则表达式有什么用?

在编写处理字符串的程序时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。正则表达式如何扩展常规搜索条件。正则表达式可以操作一个字符串,包括查找、替换、验证……总之很强大,如果有这方面的需求可以尝试使用正则表达式来处理。

RegEx是Regular Expressions的缩写,正则表达式。

在java语言中使用正则表达式

教程:http://blog.csdn.net/brince101/article/details/6643338

  教程:http://hi.baidu.com/jszhangdaxu/item/e808680d99501b8d03ce1b13

一个简单示例,

String test = "hello worldhello regexString,this \"hello\"is helloa test!019-123";
		Pattern pattern = Pattern.compile("hello");
		Matcher matcher = pattern.matcher(test);
		while (matcher.find()) {
			System.out.println("start:" + matcher.start() + "\tend:"
					+ matcher.end());
		}

 元字符 metacharacter:

.   匹配除了换行符以外的任意字符
\b  匹配单词的开头或结尾
*   指定 * 前面的内容可以连续重复任意次,以使整个表达式得到匹配   .* 匹配任意字符
\d  匹配一个数字  0\d\d-\d\d\d\d\d\d\d\d  匹配电话
{}   可以避免重复  0\d\d-\d\d\d\d\d\d\d\d 可以写成 0\d{2}-\d{8}
\w  匹配字母、数字、下划线
\s   匹配任意空白字符
^   匹配字符串的开始
$   匹配字符串的结束
 
贪婪匹配:通常情况是在能使这我能给个表达式能得到匹配的前提下匹配尽可能多的字符,例如 a.*b
懒惰匹配:在限定附后添加一个 "?" 就会转为懒惰匹配,在能匹配的前提下,使用尽可能少的重复

相关推荐