界定符
用法:/[0-9]/,#[0-9]#
说明:表示正则表达式的开始和结束,具体的由解析器决定
告诉php解析器的开始结束
原子
- 可见原子 可见字符,一般直接使用可见字符即可,如果遇到文字,建议转成unicode
- 不可见原子 空格(),换行(\n),制表符(\t),其他不可见符号
- 换行加缩进的匹配可以使用 (\n\t)
元字符
说明:1. 定义原子的筛选方式 2. 某一类原子归类,并且给出缩写,简化正则
- | 匹配两个或者多个分支
- [] 中括号内部的任意一个原子
- [^] 匹配除括号内部原子之外的任何字符
原子的筛选
先看第一种作用,进行原子的筛选[]|代表或者的关系,[^]代表非的关系
举例:
[Dd]uang,(D|d)uang
![Uploading Paste_Image_706943.png . . .]
既然这两种都可以匹配到,具体有什么区别呢?
在[]
中出现的,只能是单个原子,每个原子之间都是或的关系
使用|元字符,两边可以由多个原子组成,来进行匹配
原子集合
定义了原子集合,用来简化书写,一般原子集合,都可以通过原子筛选的方式给出
. 除了换行符的原子 [^/n]
\d 数字 [0-9]
\D 非数字 [^0-9]
\s 不可见原子[\f\n\r\t]
\S 可见的原子
\w 数字字母下划线 [0-9a-zA-Z_]
\W 任意一个非下划线,数字字母[^0-9a-zA-Z_]
量词
所谓量词,就是表示它前面的原子重复多少次
{d} 重复d次
{d,} 最少重复d次
{d,b} 重复d到b次
量词集合
参考原子集合,是为了方便筛选元素。量词集合的出现也是同样的道理
- {0,} 最少重复0次,包含0次
- {1,} 最少重复1次,包含1次
?{0,1} 重复0次或者1次
修正模式
U表示贪婪模式
i忽略大小写,用在正则中
x忽略正则中的空格,tab制表符
\
转译,当正则占用了需要的输入