正则表达式 Regular Express

本文介绍了正则表达式的概念及其在PHP中的应用,详细解释了正则表达式的组成元素,包括分隔符、表达式、修饰符等,并列举了常用的元字符及量词,帮助读者快速掌握正则表达式的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则表达式 Regular Express

标签(空格分隔): 正则表达式 PHP


认识正则表达式

正则表达式就是用某种模式去匹配一类字符串的一种公式。通俗来讲,就是一系列匹配规则。

PHP中的正则函数

  1. PCRE库提供的函数, 以 preg_ 为前缀命名。
  2. POSIX扩展提供的函数,以 ereg_ 为前缀命名。

组成

分隔符 表达式 修饰符

  • 分隔符:可以是除了字母、数字、反斜线及空白符以外的任何字符
  • 表达式:由一些特殊字符和非特殊字符组成。
  • 修饰符:用于开启或者关闭某种功能。

元字符(Meta-Characters)

是正则表达式中具有特殊意义的字符

常用元字符

元字符描述
.匹配除换行符以外的任意字符
\w匹配字母、数字或下划线或汉字
\s匹配任意空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符的开始
$匹配字符的结束
-表示范围
[ ]匹配括号中的任意一个字符
*、+、?量词

量词

限定符描述
*重复0次或更多次
+重复1次或更多次
重复0次或1次
{n}重复n次
{n,}至少重复n次
{n,m}重复n次到m次

正则表达式匹配规则

  1. 字符组 [0-9]
  2. 转义 \\ \{ \}
  3. 反义
字符描述
\W匹配任意不是字母、数字、下划线、汉字的字符
\S匹配任意不是空白的字符
\D匹配任意非数字的字符
\B匹配不是单词开头或结束的位置
[^x]匹配除x以外的任意字符

4. 分支 就是存在多种可能的匹配情况。[ch]at=(c|h)at
5. 分组

类别代码/语法描述
捕获(exp)匹配exp,并捕获文本到自动命名的组里
(?<name>exp)匹配exp,并捕获文本到名称为name的组里,也可写成(?’name’exp)
(?:exp)匹配exp,不捕获匹配的文本,也不给次分组分配组号
零宽断言(?=exp)匹配exp前面的位置
(?<=exp)匹配exp后面的位置
(?!exp)匹配后面跟的不是exp的位置
(?<!exp)匹配前面不是exp的位置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值