正则表达式
来源:互联网 发布:原生js处理ajax超时 编辑:程序博客网 时间:2024/06/07 18:18
* preg_match() & preg_match_all()
preg_match(
pattern, subject,[array &matches])pregmatchall( pattern,subject,array &matches);
return 匹配到结果的次数
参数:$pattern 正则表达式 $subject 匹配对象 $matches 匹配到的结果
- preg_replace() & preg_filter()
preg_replace(
pattern, replacement,subject)pregfilter( pattern,replacement, subject)
区别:preg_replace()会保留所有匹配对象的数据 preg_filter()只保留发生替换的数据
- preg_grep() 阉割版的preg_filter()
匹配包含$pattern的字符串 preg_grep($pattern,array $input) 阉割版的preg_filter()
- preg_split() 分割字符串为数组 类似explode()
preg_split($pattern,$subject)
- preg_quote($str) 正则运算符转义
$tr = 'jiadef[joiade]{jijfaeo}';echo preg_quote($tr);结果:jiadef\[joiade\]\{jijfaeo\}
函数总结
都以preg_开头除preg_quote函数外,第一个参数都是正则表达式preg_match--表单验证等preg_replace--非法词语过滤等
正则表达式基本语法
- 界定符
- 原子
- 量词
- 边界控制
- 模式单元
界定符
表示一个正则表达式的开始和结束/[0-9]/
regexpal工具
原子
* 可见原子
unicode 编码表中用键盘输出后肉眼可见的字符
- 不可见原子
unicode 编码表中用键盘输出后肉眼不可见的字符换行符 \n回车 \r制表符 \t空格其他不可见符号注意:1.文字匹配建议转化成unicode编码再匹配2.正则表达式运算符需要转义才能匹配
元字符
* 原子的筛选方式
| 匹配两个或多个分支选择[] 匹配方括号中的任意一个原子[^] 匹配除方括号中的原子之外的任意字符
元字符之原子的集合
. 匹配除换行符之外的任意字符\d 匹配任意一个十进制数字,即 [0-9]\D 匹配任意一个非十进制数字,[^0-9]\s 匹配一个不可见原子 [\f\n\r\t\v]\S 匹配一个可见原子 [^\f\n\r\t\v]\w 匹配任意一个数字、字母或下划线 [0-9a-zA-Z_]\w 匹配任意一个非数字、字母或下划线 [^0-9a-zA-Z_]
量词
{n} 表示其前面的原子恰好出现n次{n,} 表示其前面的原子最少出现n次{n,m} 表示前前面的原子最少出现n次,最多出现m次* 匹配0次、1次或者多次其之前的原子,即{0,} + 匹配1次或者多次其之前的原子 {1,}? 匹配0次或者1次其之前的原子,即{0,1}
边界控制和模式单元
^匹配字符串开始的位置$ 匹配字符串结尾的位置() -模式单元 匹配其中的整体为一个原子
修正模式
贪婪匹配和懒惰匹配
贪婪匹配 -- 匹配结果存在歧义时取其长懒惰匹配 -- 匹配结果存在歧义时取其短 /[0-9]/U
常见修正模式
U - 懒惰匹配 u 贪婪匹配(默认)i - 忽略英文字母大小写x - 忽略正则表达式中的空白和换行s - 让元字符 `.`匹配包括换行符在内所有字符e -
常用正则表达式
非空 .+ 可用于表单验证 不能为空浮点数匹配 \d+\.\d{2}$ 常用于货币的匹配手机号匹配 1(3|4|5|7|8)\d{9}email 地址匹配 \w+(\.\w+)\$\w+(\.\w+)+$url地址匹配:^(https?://)?(\w+\.)+[a-zA-Z]+$
阅读全文
0 0
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- PHP模板引擎twig介绍
- shiro认证流程初(ini方式)
- 【剑指offer】面试题37:两个链表的第一个公共结点
- python之numpy库[1]
- android 建造者设计模式
- 正则表达式
- 13. Roman to Integer
- Could not obtain transaction-synchronized Session for current thread
- malloc()与free()学习笔记
- javascript高级程序设计中的浏览器检测、浏览器引擎检测,平台检测完整代码
- jq的一些基本选择器
- 用户权限管理系统(正式版)
- TWIG变量与注释
- maven项目管理工具 总结