ITPub博客

首页 > IT职业 > IT职场 > 正则表达式中常用的元字符

正则表达式中常用的元字符

IT职场 作者:disable 时间:2021-09-09 09:04:29 0 删除 编辑

正则表达式中具有特殊含义的字符称之为元字符,常用的元字符有:

一般用于转义字符
^ 断言目标的开始位置(或在多行模式下是行首)
$ 断言目标的结束位置(或在多行模式下是行尾)
. 匹配除换行符外的任何字符(默认)
[ 开始字符类定义
] 结束字符类定义
| 开始一个可选分支
( 子组的开始标记
) 子组的结束标记
? 作为量词,表示 0 次或 1 次匹配。位于量词后面用于改变量词的贪婪特性。 (查阅量词)

  • 量词,0 次或多次匹配
  • 量词,1 次或多次匹配
    { 自定义量词开始标记
    } 自定义量词结束标记

//下面的s匹配任意的空白符,包括空格,制表符,换行符。[^s]代表非空白符。[^s]+表示一次或多次匹配非空白符。
$p = '/^我[^s]+(苹果|香蕉)$/';
$str = "我喜欢吃苹果";
if (preg_match($p, $str)) {
echo '匹配成功';
}

元字符具有两种使用场景,一种是可以在任何地方都能使用,另一种是只能在方括号内使用,在方括号内使用的有:

转义字符
^ 仅在作为第一个字符(方括号内)时,表明字符类取反

  • 标记字符范围

其中^在反括号外面,表示断言目标的开始位置,但在方括号内部则代表字符类取反,方括号内的减号-可以标记字符范围,例如0-9表示0到9之间的所有数字。

//下面的w匹配字母或数字或下划线。
$p = '/[w.-]+@[a-z0-9-]+.(com|cn)/';
$str = "我的邮箱是Spark.eric@imooc.com";
preg_match($p, $str, $match);
echo $match[0];

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/200/viewspace-2799092/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-09-12

  • 博文量
    86
  • 访问量
    16279