这只是一个日志,记录php正则相关的一些内容。一些常用的,基本定义的字符说明.匹配除了\n外的任意字...
这只是一个日志,记录php正则相关的一些内容。
一些常用的,基本定义的
字符 | 说明 |
. | 匹配除了\n外的任意字符 |
^ | 匹配字符串开始的位置 |
$ | 匹配字符串结束的位置 |
* | 匹配*号前面子表达式的0次或多次 |
+ | 匹配+号前面子表达式的1次或多次 |
? | 匹配?号前面子表达式的0次或一次 |
{n} | 匹配{前字符n次 |
{n,} | 匹配{前字符最少n次 |
{n,m} | 匹配{前字符最少n次,最多m次 |
其他一些特殊用的
字符 | 说明 |
\n | 表示换行 |
\r | 表示回车 |
\s | 匹配任何空白字符,包括空格、制表符、换页符 |
\S | 匹配任何非空白字符 |
\d | 匹配数字 |
\D | 匹配非数字 |
\w | 匹配包括下划线的任意单词字符 |
\W | 匹配任何非单词字符 |
一些组成的,综合运用的
字符 | 说明 | 例 |
a|b | 表示a或者b,一般用圆括号或中括号包裹 | (z|f)ood匹配zood或food |
[abcd] | 匹配所包含的a,b,c,d任意一个字符 | [abcd]匹配food中的d |
[^abc] | 匹配未包含a,b,c的字符 | |
[a-z] | 匹配a到z的任意字符 | |
[^a-z] | 匹配不为a-z的任意字符 | |
(.*?)href | 表示匹配到href为止前的任意字符 | <a class="aa" href="" |
('|") | 匹配单引号或者双引号 | |
([^>]*)alt | 表示匹配到alt前任意非>的字符 |
附上一些常用的修饰符
修饰符 | 释义 |
i | (PCRE_CASELESS)如果设置了这个修饰符, 模式中的字母会进行大小写不敏感匹配. |
s | (PCRE_DOTALL)如果设置了这个修饰符, 模式中的点号元字符匹配所有字符, 包含换行符. 如果没有这个 修饰符, 点号不匹配换行符. 这个修饰符等同于perl中的/s修饰符. 一个取反字符类比如 [^a]总是匹配换行符, 而不依赖于这个修饰符的设置. |
U | (PCRE_UNGREEDY)这个修饰符逆转了量词的"贪婪"模式. 使量词默认为非贪婪的, 通过量词后紧跟? 的方式可以使其成为贪婪的. 这和perl是不兼容的. 它同样可以使用 模式内修饰符设置 (?U)进行设置, 或者在量词后以问号标记其非贪婪(比如.*?). |
以上仅表示个人观点,仅供本人自行记录,仅供大家参考。
转载请保留出处