正则中的一些概念
元字符
|
|
重复
|
|
模式修正符
|
|
PHP正则函数
在 PHP 应用中,正则表达式主要用于:
- 正则匹配:根据正则表达式匹配相应的内容
- 正则替换:根据正则表达式匹配内容并替换
- 正则分割:根据正则表达式分割字符串
PHP 正则表达式匹配 preg_match 与 preg_match_all 函数
preg_match()
preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 。
语法:
int preg_match( string pattern, string subject [, array matches ] )
参数说明:
pattern 正则表达式
subject 需要匹配检索的对象
matches 可选,存储匹配结果的数组, $matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推
preg_match_all()
preg_match_all() 函数用于进行正则表达式全局匹配,成功返回整个模式匹配的次数(可能为零),如果出错返回 FALSE 。
语法:
int preg_match_all( string pattern, string subject, array matches [, int flags ] )
参数说明:
pattern: 正则表达式
subject: 需要匹配检索的对象
matches: 存储匹配结果的数组
flags: 可选,指定匹配结果放入 matches 中的顺序,可供选择的标记有:
1. PREG_PATTERN_ORDER:默认,对结果排序使 $matches[0] 为全部模式匹配的数组,$matches[1] 为第一个括号中的子模式所匹配的字符串组成的数组,以此类推
2. PREG_SET_ORDER:对结果排序使 $matches[0] 为第一组匹配项的数组,$matches[1] 为第二组匹配项的数组,以此类推
3. PREG_OFFSET_CAPTURE:如果设定本标记,对每个出现的匹配结果也同时返回其附属的字符串偏移量
部分实例
|
|
正则表达式中排除不需要匹配的字符串或字符
(1)排除不需要匹配的某个字符: 例: [^\w] 排除匹配中的一个数字或字符串
(2) 排除匹配中不需要的字符串:例:(?!元宝商城|游戏特权|图说新游|多玩策划|新游视频|娱乐视频|多玩演播室|多玩画报)
加上|用于或选择。上面列出的字符串都不会参与匹配
常用正则
- 删除空行:
\r\n\r\n => \r\n\
- 删除有空格的空行:
^ +$ =>