正则表达式教程
.       匹配除换行符以外的任意字符
    \w      匹配字母,数字,下划线,汉字
    \s      匹配任意空白符
    \d      匹配数字
    \b      匹配单词的开始或结束
    ^       匹配字符串的开始
    $      匹配字符串的结束\ 转义字符
在查找 . \ ( ) ^ * 等在正则表达式中代表特殊含义的字符时。 
 如:www.baidu.com www.baidu.com 
 常用转义字符
\a      报警字符(打印它的效果是电脑嘀一声)
    \b      通常是单词分界位置,但如果在字符类里使用代表退格
    \t      制表符,Tab 
    \r      回车 
    \v      竖向制表符 
    \f      换页符 
    \n      换行符重复
*       重复0或更多次
    +       重复1次或更多次
    ?       重复1次或0次
    {n}     重复n次
    {n,}    重复n次或更多次
    {n,m}   重复n到m次选择性字符
[aeiou]     aeiou中任意字符
[0-9]       匹配任意一个数字,等同于\d
[a-z0-9A-Z] 等同于\w(如果只考虑英文的话)反义
\W          匹配任意不是字母,数字,下划线,汉字的字符
    \S          匹配任意不是空白符的字符
    \D          匹配任意非数字的字符
    \B          匹配不是单词开关或结束位置
    [^x]            匹配除了x以外的任意字符
    [^aeiou]    匹配除了aeiou这几个字母以外的任意字符例:
<a[^>]+>        匹配用尖括号括起来的以a开关的字符串替换
使用替换时,顺序是很重要的。
在匹配替换时,将会从左到或地测试每个分枝条件,如果满足了某个分枝的话,就不会支管其它的替换条件了。例:
Windows98|Windows2000|WindowsXP分组 用()括起来的分组
例:匹配IP地址:
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)(exp)           匹配exp,并捕获文本到自动命名的组里
(?#comment)     用来注释
使用小括号的分组,都有一个组号,从左到右从1开始
后向引用 用于重复搜索前面某个分组匹配的文本例:
\b(\w+)\b\s+\1\b        匹配重复的单词,如go go, ok ok位置指定
(?=exp)         匹配exp前面的位置【0宽先行断言】
(?<=exp)        匹配exp后面的位置【0宽后行断言】
(?!exp)         匹配后面跟的不是exp的位置
(?<!exp)            匹配前面不是exp的位置例:
(?<![a-z])\d{7}匹配前面不是小写字母的七位数字贪婪与懒惰
正则表达式在匹配字符时,通常是匹配尽可能多的字符。
*?          重复任意次,但尽可能少重复
+?          重复1次或更多次,但尽可能少重复
??          重复0次或1次,但尽可能少重复
{n,m}?      重复n到m次,但尽可能少重复
{n,}?       重复n次以上,但尽可能少重复例:字符串 aabab
a.*?b       匹配 aab
a.*b        匹配 aabab                
                









