正则表达式

来源:互联网 发布:恢复数据软件的标志 编辑:程序博客网 时间:2024/06/07 02:07

1.元字符介绍


. 匹配任意一个字符
[abc] 匹配方括号中的任意一个字符。可以使用-表示字符范围,
      如[a-z0-9]匹配小写字母和阿拉伯数字。
[^abc] 在方括号内开头使用^符号,表示匹配除方括号中字符之外的任意字符。
/d 匹配阿拉伯数字,等同于[0-9]。
/D 匹配阿拉伯数字之外的任意字符,等同于[^0-9]。
/x 匹配十六进制数字,等同于[0-9A-Fa-f]。
/X 匹配十六进制数字,等同于[^0-9A-Fa-f]。
/w 匹配单词字母,等同于[0-9A-Za-z_]。
/W 匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_]。
/t 匹配<TAB>字符。
/s 匹配空白字符,等同于[ /t]。
/S 匹配非空白字符,等同于[^ /t]。
/a 所有的字母字符. 等同于[a-zA-Z]
/l 小写字母 [a-z]
/L 非小写字母 [^a-z]
/u 大写字母 [A-Z]
/U 非大写字母 [^A-Z]
 
表示数量的元字符
元字符 说明
* 匹配0-任意个
/+ 匹配1-任意个
/? 匹配0-1个
/{n,m} 匹配n-m个
/{n} 匹配n个
/{n,} 匹配n-任意个
/{,m} 匹配0-m个
/_. 匹配包含换行在内的所有字符
/{-} 表示前一个字符可出现零次或多次,但在整个正则表达式可以匹配成功的前提下,匹配的字符数越少越好
/= 匹配一个可有可无的项
/_s 匹配空格或断行
/_[]
 
元字符 说明
/* 匹配 * 字符。
/. 匹配 . 字符。
// 匹配 / 字符。
// 匹配 / 字符。
/[ 匹配 [ 字符。
 
表示位置的符号

$ 匹配行尾
^ 匹配行首
/< 匹配单词词首
/> 匹配单词词尾
 
替换变量

在正规表达式中使用 /( 和 /) 符号括起正规表达式,即可在后面使用/1、/2等变量来访问 /( 和 /) 中的内容。
 
懒惰模式

/{-n,m} 与/{n,m}一样,尽可能少次数地重复
/{-} 匹配它前面的项一次或0次, 尽可能地少
/| "或"操作符
/& 并列

2.举例:

 

"^//d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-//d+)|(0+))$" //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?//d+$" //整数
"^//d+(//.//d+)?$" //非负浮点数(正浮点数 + 0)
"^(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
"^((-//d+(//.//d+)?)|(0+(//.0+)?))$" //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数
"^(-?//d+)(//.//d+)?$" //浮点数
"^[A-Za-z]+$" //由26个英文字母组成的字符串
"^[A-Z]+$" //由26个英文字母的大写组成的字符串
"^[a-z]+$" //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
"^//w+$" //由数字、26个英文字母或者下划线组成的字符串
"^[//w-]+(//.[//w-]+)*@[//w-]+(//.[//w-]+)+$" //email地址
"^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$" //url