博客列表 >正则表达式

正则表达式

我是一个新生
我是一个新生原创
2017年09月26日 10:36:49882浏览

修饰符 描述

i 执行对大小写不敏感的匹配。

g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m 执行多行匹配。

方括号

方括号用于查找某个范围内的字符:

表达式 描述

[abc] 查找方括号之间的任何字符。

[^abc] 查找任何不在方括号之间的字符。

[0-9] 查找任何从 0 至 9 的数字。

[a-z] 查找任何从小写 a 到小写 z 的字符。

[A-Z] 查找任何从大写 A 到大写 Z 的字符。

[a-Z] 查找任何从小写 a 到大写 Z 的字符。

[adgk] 查找给定集合内的任何字符。

[^adgk] 查找给定集合外的任何字符。

[red|blue|green] 查找任何指定的选项。

 

元字符

元字符(Metacharacter)是拥有特殊含义的字符:

元字符 描述

. 查找单个字符,除了换行和行结束符。

\w 查找单词字符。

\W 查找非单词字符。

\d 查找数字。

\D 查找非数字字符。

\s 查找空白字符。

\S 查找非空白字符。

\b 查找位于单词的开头或结尾的匹配。

\B 查找不处在单词的开头或结尾的匹配。

\0 查找 NUL 字符。

\n 查找换行符。

\f 查找换页符。

\r 查找回车符。

\t 查找制表符。

\v 查找垂直制表符。

\xxx 查找以八进制数 xxx 规定的字符。

\xdd 查找以十六进制数 dd 规定的字符。

\uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

 

量词

量词 描述

n+ 匹配任何包含至少一个 n 的字符串。

n* 匹配任何包含零个或多个 n 的字符串。

n? 匹配任何包含零个或一个 n 的字符串。

n{X} 匹配包含 X 个 n 的序列的字符串。

n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串。

n{X,} 匹配包含至少 X 个 n 的序列的字符串。

n$ 匹配任何结尾为 n 的字符串。

^n 匹配任何开头为 n 的字符串。

?=n 匹配任何其后紧接指定字符串 n 的字符串。

?!n 匹配任何其后没有紧接指定字符串 n 的字符串。

正则表达式中的预定义词:

预定义词 含义

\d 代表0~9的任何一个数字

\D 代表任何一个非数字字符

\s 代表空白字符,如“\t”、“\n”

\S 代表非空白字符

\w 代表可用作标识符的字符,但不包括“$”

\W 代表不可用作标识符的字符

常用的模式正则表达式:

类型 正则表达式 模式含义

数学类 ^\d+(\.\d+*$) 数字

^\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+)?$ 浮点整数

类型 正则表达式 模式含义

字符型 [\u4e00-\u9fa5] 中文字符

[^\x00-\xff] 双字节字符(包括汉字)

类型 正则表达式 模式含义

字符串类 ^[A-Za-z]+$ 由26个英文字母组成的字符串

^[A-Z]+$ 由26个大写英文字母组成的字符窜

^[a-z]+$ 由26个小写英文字母组成的字符窜

^[A-Za-z0-9]+$ 由数字和26个英文字母组成的字符串

^\w+$ 由数字、26个英文字母或者下划线组成的字符串

^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ 或

/([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}/ E-mail地址

\n[\s|]*\r 空行

/<(.*)>.*<\/\1>|<(.*)\/>/ HTML标记

(^\s*)|(\s*$) 首位空格

^[a-zA-Z]+://(\w(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ URL

注意:方法中的“\”需要转义,所以在Web页面中应写为“\\”

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议