正则表达

来源:互联网 发布:淘宝聊天记录怎么没了 编辑:程序博客网 时间:2024/04/30 14:20

 

什么是正则表达:

理则表达是由一组字符串组成。它是一种文本模式,只是通过一些普通字符和特殊字符组成,并且它还有一定的语法。能够作为字符串匹配工具(在这里仅将正则表达看成一种匹配工具)。

正则表达式的特殊字符:

 

. ­à匹配所有字符、空格、Tab    :正则表达式:a.b  匹配:abb/ahhhba bt

[]à匹配包含在其中的单个字符      :正则表达:hel[opm] 匹配:helo help helm

()à匹配一组表达式,该表达式可以同其他特殊字符组成  

: 正则表达:t([aop]a)p 匹配:taaptoaptpap

|à或的表达式       :正则表达:t(a|o|pk)p   匹配:taptoptpkp

*à匹配0次或多次,只对邻近的字符或一组表达式起作用

                   :正则表达:ab*  匹配:a abb

+à匹配一次或多次,只对邻近的字符或一组表达式起作用

                   :正则表达: ab+  匹配:ababb等但不匹配a

? à匹配0次或一次,只对邻近的字符或一组表达式起作用

                   :正则表达:ab?   匹配:a ab但不匹配abb

{n}à匹配指定的次数,n是数字,只对邻近的字符或一组表达式起作用

                   :正则表达:ab{2}c 匹配:abbcaabbcc,但不匹配abc

{n,m}à匹配指定的次数,从n次到m次,只对邻近的字符或一组表达式起作用

                   :正则表达:ab{2,3} 匹配:abbcabbbc,但不匹配abc

^à否的表达式,表示不能被匹配的字符,一般和“[]”一起使用。也匹配输入字符串的开始                 :正则表达: a^b^cd 匹配:addaed等,但不匹配abdacd

$à匹配输入字符串的结束位置

                   :正则表达:^a[^b^c]d$

à连接符表示一个范围

-                         :正则表达:[09]匹配123

/dà等价于[09],匹配单个数字

                  :正则表达 /dabc  匹配:1abc2abc等,但不匹配1abc2abc

/Dà等价于[^09]不匹配单个数字

              :正则表达:/Dabc  匹配:aabcbabc、等,但不匹配1abc2abc   

/wà等价于[AZ09],匹配单个数字或单个英文字母

               :正则表达:/wabc 匹配:aabcbabc等,但不匹配!abc#abc

/Wà等价于[^AZ09],不匹配单个数字或单个英文字母

               :正则表达:/Wabc 匹配:!abc#abc等,但不匹配1abc2abc

/fà匹配一个换页符

/nà匹配一个换行符

/rà匹配一个回车符

/tà匹配一个制表符

/và匹配一个垂直符

/sà等价于[/f/n/r/t/v,匹配一个换页符、换行符、回车符、制表符、垂直制表符

/Sà等价于[^/fn/r/t/v,匹配一个非空白字符

/à转义字符,将特殊字符转化为普通字符   

                 :正则表达:///-/^/*   匹配:/-^*

 

实例:

匹配IP地址:^/d{1,3}/./d{1,3}/./d{1,3}/./d{1,3}$

^$匹配输入字符串的开始和结束。

 

email:=/^(.+)@(.+)$/;

spwcialChars="//(//)<>@,;://///////.//[//];

validChars="/[^//s"+specialChars+"/]";

quotedUser="(/"[^/"]*/)";

ipDomainPat=/^(/d{1,3})[.](/d{1,3})[.](/d{1,3})[.](/d){1,3})$/;

 

原创粉丝点击