正则表达式学习笔记
正则表达式一组字母和符号组成的文本,用来在文本中找出满足需要得文本。 基本匹配直接配具体文本,大小写敏感。 元字符
点运算符
|
简写 | 描述 |
---|---|
. | 除换行符外的所有字符 |
w | 匹配所有字母数字,等同于 [a-zA-Z0-9_] |
W | 匹配所有非字母数字,即符号,等同于: [^w] |
d | 匹配数字: [0-9] |
D | 匹配非数字: [^d] |
s | 匹配所有空格字符,等同于: [tnfrp{Z}] |
S | 匹配所有非空格字符: [^s] |
f | 匹配一个换页符 |
n | 匹配一个换行符 |
r | 匹配一个回车符 |
t | 匹配一个制表符 |
v | 匹配一个垂直制表符 |
p | 匹配 CR/LF (等同于 rn ),用来匹配 DOS 行终止符 |
前后关联约束(前后预查)
符号 | 描述 |
---|---|
?= | 前置约束-存在 |
?! | 前置约束-排除 |
?<= | 后置约束-存在 |
? | 后置约束-排除 |
?=
前置约束-存在
?=...
前置约束(存在),表示第一部分表达式必须跟在 ?=...
定义的表达式之后。
前置约束的内容写在括号中的等号后面、。 例如, 表达式[T|t]he(?=sfat)
匹配The
和the
,在括号中我们又定义了前置约束(存在) (?=sfat)
,即The
和the
后面紧跟着 (空格)fat``。
[T|t]he(?=sfat)` => The fat cat sat on the mat.
?!...
前置约束-排除
[T|t]he(?!sfat)
=> The fat cat sat on the mat.
?<=...
后置约束-存在
(?<=[T|t]hes)(fat|mat)
=> The fat cat sat on the mat.
?<!...
后置约束-排除
(?<![T|t]hes)(cat)
=> The cat sat on cat.
标志
修改表达式的搜索结果。可以任意组合。
标志 | 描述 |
---|---|
i | 忽略大小写. |
g | 全局搜索. |
m | 多行的: 锚点元字符 ^ $ 工作范围在每行的起始. |
忽略大小写
/The/gi
全局忽略大小写the
。
/The/gi
=> The fat cat sat on the mat.
全局搜索
/.(at)/g
=> The fat cat sat on the mat.
多行修饰符
像之前介绍的 (^,$)
用于检查格式是否是在待检测字符串的开头或结尾。 但我们如果想要它在每行的开头和结尾生效,我们需要用到多行修饰符 m
。
/.at(.)?$/
=> The fat
cat sat
on the mat.
/.at(.)?$/gm
=> The fat
cat sat
on the mat.
学习资料
- Learn Regex The Easy Way
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
- oracle-数据库泵EXPDP导出用户下所有
- Hybrid App中原生页面 VS H5页面
- 在将应用程序上传到App Store期间,Xcode 9崩溃
- c# – 你会在long switch / enum声明中使用区域吗?
- The database cluster initialisation failed
- ruby – 延迟作业每次引发错误时都会创建Airbrakes
- react-native – 如何在本机中将scrollview拉伸到整个屏幕?
- ruby – 识别空格与其他字符在字符串中运行
- PG的Buffer的管理,有说明share_buffer设置的原理
- XML ::编译以使用枚举和选择从模式生成示例XML