正则表达式说明
来源:互联网 发布:快递查询小程序源码 编辑:程序博客网 时间:2024/06/10 14:45
正则表达式中具有特殊含义的字符称之为元字符,常用的元字符有:
\ 一般用于转义字符
^ 断言目标的开始位置(或在多行模式下是行首)
$ 断言目标的结束位置(或在多行模式下是行尾)
. 匹配除换行符外的任何字符(默认)
[ 开始字符类定义
] 结束字符类定义
| 开始一个可选分支
( 子组的开始标记
) 子组的结束标记
? 作为量词,表示 0 次或 1 次匹配。位于量词后面用于改变量词的贪婪特性。 (查阅量词)
* 量词,0 次或多次匹配
+ 量词,1 次或多次匹配
{ 自定义量词开始标记
} 自定义量词结束标记
元字符具有两种使用场景,一种是可以在任何地方都能使用,另一种是只能在方括号内使用,在方括号内使用的有:
\ 转义字符
^ 仅在作为第一个字符(方括号内)时,表明字符类取反
- 标记字符范围
其中^在反括号外面,表示断言目标的开始位置,但在方括号内部则代表字符类取反,方括号内的减号-可以标记字符范围,例如0-9表示0到9之间的所有数字。
\s匹配任意的空白符,包括空格,制表符,换行符[^\s]代表非空白符[^\s]+表示一次或多次匹配非空白符\w匹配字母或数字或下划线\d匹配数字
{}指定匹配字符数,如:{3}确定要匹配3个相同的*表示数量为0个或者多个
贪婪模式与懒惰模式
正则表达式中每个元字符匹配一个字符,当使用+之后将会变的贪婪,它将匹配尽可能多的字符,但使用问号?字符时,它将尽可能少的匹配字符,既是懒惰模式。
贪婪模式:在可匹配与可不匹配的时候,优先匹配
//下面的\d表示匹配数字$p = '/\d+\-\d+/';$str = "我的电话是010-12345678";preg_match($p, $str, $match);echo $match[0]; //结果为:010-12345678
懒惰模式:在可匹配与可不匹配的时候,优先不匹配
$p = '/\d?\-\d?/';$str = "我的电话是010-12345678";preg_match($p, $str, $match);echo $match[0]; //结果为:0-1
当我们确切的知道所匹配的字符长度的时候,可以使用{}指定匹配字符数
$p = '/\d{3}\-\d{8}/';$str = "我的电话是010-12345678";preg_match($p, $str, $match);echo $match[0]; //结果为:010-12345678
0 0
- 正则表达式的说明
- 正则表达式说明
- 正则表达式说明表
- 正则表达式说明
- 正则表达式说明
- 正则表达式说明(转)
- 正则表达式说明
- 正则表达式说明
- 正则表达式说明
- grep 正则表达式说明
- 正则表达式说明
- 正则表达式中的字符说明
- php正则表达式详细说明
- java 正则表达式 实例说明
- PERL 正则表达式详细说明
- vbs 正则表达式 字符说明
- 正则表达式-官网版字符说明
- Posix正则表达式API说明
- maven执行update命令时报org/apache/maven/shared/filtering/MavenFilteringException错误
- 黑马基础测试4
- xss攻击入门
- maven编译出现编码 gbk 的不可映射字符错误
- 黑马基础测试5
- 正则表达式说明
- 微信扫码登录网页实现原理
- 黑马基础测试6
- Linux快速体验之文件系统目录与init
- 黑马基础测试7
- html5media.js让所有浏览器支持video标签
- 安装VS2012以后又安装IIS遇到的问题解决方案
- 黑马基础测试8
- macos10.8.5原版系统dmg转iso