正则表达式难点

2022-09-20 19:01:06 浏览数 (3)

以下就不放关于正则的所有内容了,毕竟网上都有,我实在是太懒了,只想总结一些难点和易错点。

一些 元字符 在 方括号内 失去了魔法, 变得和普通字符一样了。

比如[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

0 人点赞