php 正则表达式
来源:互联网 发布:windows xp系统重装 编辑:程序博客网 时间:2024/06/03 21:37
原子
可见原子
Unicode编码表中用键盘输出后肉眼可见的字符
比如:标点符号 英文字母数字 汉字阿拉伯文 数理化公式符号 等等。。。
//如果是文字匹配先转换编码
//如果是运算符匹配 我们要加转移符 \ 斜杠 如果我们想匹配\这个符号 我们要加在加个斜杠 \两斜杠匹配一个\
不可见原子
Unicode编码表中用键盘输出后肉眼不可见的字符 比如:换行符\n 回车\r 制表符\t 其他不可见字符 等等。。。。
元字符
元字符之原子的筛选方式
| 匹配两个或者多个分支选择 或的意思
PHP | php 表示我们想匹配大写的PHP或小写的php
[] 匹配方括号中的任意一个原子
[0-9a-z] 匹配0-9 之间的的数字 a-z之间的小写单词
[^] 匹配除方括号中的原子之外的任意字符
[^9] 除9之外的原子全部匹配 ^符号的位置绝对不能错
如果我们这样写的话 [01^2] 表示我们要匹配的是中括号中全部原子
也就是 01^2 这4个原子
元字符之原子的集合
\d 匹配任意一个十进制数字[0-9]
\D 匹配任意一个非十进制的数字[^0-9]
\S 匹配一个可见原子 即[^\f\n\r\t\v]
\w 匹配任意一个数字、字母、下划线 即[^0-9a-zA-Z_]
\W 匹配任意一个非数字、字母、下划线 即[^0-9a-zA-Z_]
量词
{n} 表示 其前面的原子恰好出现n次
[9]{3} 表示匹配9连续出现3次
{n,} 表示其前面的原子最少出现n次
[\w]{12,} 表示匹配数字或字母或下划线连续出现12次
{n,m} 表示前面的原子最少出现n次 最多出现m次
[9]{3,5} 匹配表示该原子连续这最少3次最多5次
*
匹配0次1次或者多次其之前的原子 即{0,}
+
匹配一次或者多次其之前的原子 即{1,}
\d+ 表示匹配从连续1次2次无穷大次的数字
?
匹配0次或者1次其之前的原子 即{0,1}
边界控制与模式单元
^匹配字符串开始的位置
$ 匹配字符串结尾的位置
如果我们有这样一组单词
duang~
我们开始匹配 ^duang~$ 这样表示我们必须以d开头以波浪线结尾才能匹配到
() 匹配其中的整体为一个原子
需求:Duang~ duang~
我们之前要这样匹配 Duang~ | duang~或者[Dd]uang~
现在我们用模式单元匹配 (D|d)uang~ 小括号里的会当做一个原子来看待 这里表示匹配一个大写的D或者小写的d
模式修正
贪婪匹配 匹配结果存在歧义时取其长 php中默认是贪婪模式
懒惰匹配 匹配结果存在歧义时取其短 在正则表达式后面加\U就会切换到懒惰模式
U 懒惰匹配
u 贪婪匹配
i 忽略英文字母大小写
x 忽略空白
s 让元字符
.
匹配包括换行符在内的所有字符
- php的正则表达式
- PHP 正则表达式资料
- PHP 正则表达式
- php正则表达式介绍
- PHP 正则表达式资料
- php之正则表达式
- PHP和正则表达式
- PHP常用正则表达式
- php正则表达式实例
- PHP正则表达式收集
- PHP正则表达式收集
- PHP正则表达式
- PHP中的正则表达式
- PHP中的正则表达式
- PHP和正则表达式
- PHP常用正则表达式
- php正则表达式详解
- PHP正则表达式
- 期末考试之考试传纸条
- javascript中的数组
- 【SSH进阶之路】Spring的IOC逐层深入——为什么要使用IOC[实例讲解](二)
- 【C#】C#中的数据类型
- GitHub 优秀的 Android 开源项目
- php 正则表达式
- 【SSH进阶之路】Spring的IOC逐层深入——Spring的IOC原理[通俗解释一下](三)
- js中遍历json
- 【SSH进阶之路】Spring的IOC逐层深入——依赖注入的两种实现类型(四)
- OCX和DLL的区别--OCX控件的应用
- 【POJ3207】Ikki's Story IV - Panda's Trick【2-SAT】
- 亲测实验,stm32待机模式和停机模式唤醒程序的区别,以及唤醒后程序入口。
- 程序员面试金典(动态规划):8(n)皇后问题(java解法)
- TopKElements和Hashmap的空间复杂度问题