正则表达式学习
1. 辅助工具及正则表达式常用规则
辅助工具:https://regexper.com/
\b
表示word bounday
\B
表示非单词边界
比如:it is a dog.
His dog is nice.
使用\bis\b
匹配为第一个句子里面的ishttp:\/\/.+\.jpg
表示匹配http:此处为内容.jpg
的内容\d{4}
表示匹配四个数字[/-]
表示/
或者-
(on/cs)
匹配on或者cs^
、$
分别表示开头和结尾
2. RegExp对象
g
表示global
全文搜索`,若不添加,搜索到第一个匹配停止i
表示ignore case
忽略大小写,默认大小写敏感m
表示multiple lines
多行搜索lastIndex
是当前表达式匹配内容的最后一个字符的下一个位置souce
正则表达式的文本字符串var reg = /\bis\b/g
表示全文匹配单个is- 构造函数
var reg = new RegExp('\\bis\b','g')
3. 元字符
- 原义文本字符
- 元字符
\t
水平制表符、\v
垂直制表符、\n
换行符、\r
回车符、\0
空字符、\f
换页符、\cX
与X对应的控制字符(Ctrl+X) ^
取反
4. 范围类
[a-zA-Z]
5. 量词
?
出现零次或一次(最多出现一次)+
出现一次或多次(至少出现一次)*
出现零次或多次(任意次){n}
出现n次{n,m}
出现n到m次{n,}
至少出现n次- 在量词后面加上
?
为非贪婪模式 - 使用
()
可以达到分组的功能,是量词作用于分组,使用$1
、$2
可以取出分组的内容
6. 前瞻
正则表达式从文本头部向尾部开始解析,文本尾部方向称为“前”
前瞻就是在正则表达式匹配到规则的时候,向前检查是否符合断言,后顾/前瞻方向相反
exp(?=assert)
exp(?!assert)