正则表达式小结
正则表达式一种规则, 搜索和匹配
用途
拿php来举例
preg_match -- 表单验证
preg_replace -- 非法词语过滤
拿javascript来举例
可以用现成的框架is.js
验证邮箱
验证手机号码
验证用户名规则
测试工具
测试工具不写含界定符
http://regexpal.isbadguy.com/
基本语法
界定符
- 表示一个正则表达式的开始和结束
例如, /[0-9]/
界定符就是/, 不同的语言可能不同
也可以用# [0-9]#
原子
不可见的原子
t n ...需要转义的字符
元字符
原子的筛选方式
| 匹配两个或者多个分支选择
[] 匹配方括号中的任意一个原子
[^] 匹配除方括号中原子以外的任意字符
原子的集合
. 匹配除了换行符之外的任意字符,即[ ^n]
d 匹配任意一个进制数字,即[0-9]
D 匹配任意一个非十进制数字,即[ ^0-9]
s 匹配一个不可见的原子, 即[fntrtv]
S 匹配一个可见的原子, 即[ ^fntrtv]
w 匹配任意一个数字,字母或者下划线, 即[0-9a-zA-Z]
W 匹配任意一个非数字,字母或者下划线, 即[ ^0-9a-zA-Z]
量词
{n} 表示其前面的原子出现n次
{n,}表示其前面的原子至少出现n次
{n,m}表示其前面的原子至少出现n次,最多出现m次
- 匹配任意次,即{0,}
- 匹配多次其之前的原子, 即{1,}
? 匹配0次或者1次其之前的原子,{0,1}
边界控制和模式单元
^ 匹配字符串开始的位置
$ 匹配字符串结尾的位置
() 匹配其中的整体的一个原子
模式修正
贪婪匹配和朗多匹配
贪婪匹配-匹配结果存在歧义取其长,默认
懒惰匹配-匹配结果存在歧义取其短
常见的修正模式
U/u 懒惰/贪婪匹配
i 忽略英文字母大小写
x 忽略空白
s 让元字符'.'匹配包括换行符在内的所有字符
e 彩蛋
关键字:regexp, 匹配, 原子, 字符
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!