以下就不放关于正则的所有内容了,毕竟网上都有,我实在是太懒了,只想总结一些难点和易错点。
一些 元字符 在 方括号内 失去了魔法, 变得和普通字符一样了。
比如[akm.]
匹配 a k m .
里面任意一个字符
这里 .
在括号里面不在表示 匹配任意字符了,而就是表示匹配 .
这个 字符
修饰符的使用
修饰符 | 含义 | 描述 |
---|---|---|
i | ignore-不区分大小写 | 将匹配设置为不区分大小写,搜索时不区分大小写: A 和 a 没有区别。 |
g | global-全局匹配 | 查找所有的匹配项。 |
m | multiline-多行匹配 | 使边界字符 ^ 和 $ 匹配每一行的开头和结尾,记住是多行,而不是整个字符串的开头和结尾 |
s | 特殊字符圆点 . 中包含换行符 n | 默认情况下的圆点 . 是 匹配除换行符 n 之外的任何字符,加上 s 修饰符之后, . 中包含换行符 n。 |
竖线表示 匹配 其中之一 。
特别要注意的是, 竖线在正则表达式的优先级是最低的,这就意味着,竖线隔开的部分是一个整体。比如 绿色|橙
表示 要匹配是 绿色
或者 橙
,
而不是 绿色
或者 绿橙
零宽断言
(?=exp)匹配exp前面的位置
便可以提取出sing和play
其他用法:
?=exp) | 匹配exp前面的位置 |
---|---|
(?<=exp) | 匹配exp后面的位置 |
(?!exp) | 匹配后面跟的不是exp的位置 |
(?<!exp) | 匹配前面不是exp的位置 |
贴上一个大佬写的常用正则:
https://blog.csdn.net/qq_28633249/article/details/77686976