\n :代表换行符
    \t :代表制表符
    \\ :代表\本身
\^ ...... :代表匹配这字符本身
正則表達式语法(2)
可以与多种字符匹配的表达式
注意区分大写和小写,大写是相反的意思
    \d :随意一个数字,0~9中的随意一个 
\w:随意一个字母或者下划线或者汉字。也就是A~Z,a~z,0~9中的随意一个
\s :包含空格,制表符。换行符等空白符中的随意一个。
    .   :小数点能够匹配随意一个字符
正則表達式语法(3)
[ ]方括号匹配方式。可以匹配方括号里随意一个字符
[ab5@]: 匹配方括号里的随意一个字符
[^abc]: 匹配除了abc以外的随意一个字符
[f-k]: 匹配“f”-“k”之间的随意一个字符
    [^A-F0-3]: 匹配非A-F和非0-3的随意一个字符  
正則表達式语法(4)
{n}: 表达式反复n次
{m,n}: 表达式至少反复m次。最多反复n次
{m,}: 表达式至少反复m次
?: 匹配表达式0次或者1次。相当于{0,1}
+ : 表达式至少出现1次。相当于{1,}
* : 表达式不出现或者出现随意次,相当于{0,}
匹配次数中的贪婪模式,(匹配字符愈多愈好。默认)
匹配次数中的非贪婪模式(匹配字符越少越好。修饰匹配次数的特殊符号后再加上一个“?“号)。样例:\d{2,4}?,这样就将模式改为非贪婪
正則表達式语法(5)
^: 与字符串開始的位置匹配(以一行来算)
$: 与字符串结束的地方匹配
    \b: 匹配单词边界    //比方boy\b   则在boy右边不是边界的不匹配
在java中使用正則表達式及经常使用函数
public class TestRegex {
	public static void main(String []args)
	{
		//Pattern p = Pattern.compile("^\\d{4}");  //在java中的反斜杠要用两个前面一个转义,由于\d中的\做反义用
		Pattern p = Pattern.compile("(\\d{4})([a-z]{2})");
		Matcher m = p.matcher("asdfsadfsafd2342314asdfsadf2342asdfsaf");
		
		System.out.println(m.matches());		//匹配整个目标字符串
		System.out.println(m.find());			//查找字符串
		
		List<String> list = new ArrayList<String>();		//用来存储找到的group
		while(m.find())						//m.find()找到一个后就去找下一个了
		{
			System.out.println(m.group());		//group(),group(0)的作用是一样的
			System.out.println(m.group(0));
			System.out.println(m.group(1));
			System.out.println(m.group(2));		//假设写3的话会超出范围
			list.add(m.group());
		}
		
		String []str = "aa33fdf55cc".split("\\d{2}");		//依照两个整数来切分
		String str2 ="asd2dsfdfds".replaceAll("\\ds", "**");		//将ds替换掉,生成新的字符串。由于前面是常量不可变
		System.out.println("asdfsdf".matches("\\w+"));		//匹配字符串
	}
}
原文:http://www.cnblogs.com/gcczhongduan/p/5064666.html