正则表达式

是指定一组与之匹配的字符串,

限定符号

a* a出现0或者多次

a+ a出现1次或者多次

a? a出现0次或者1次

a{2,5} 出现在2到5次之间

或运算法

(cat|dog) 匹配 cat或者dog

字符类

abz\]+ 表示匹配的字符只能是中括号中的字母 如果使用了 \^则为取反符号 **元字符、** /d 代表数字字符 /w代表英文字符数字加上下划线 /s代表tab和换行符 其中/加大写的DWS则表示取反符号 .表示任意字符 不包括换行符号 \^a 匹配行首的 a$只匹配行尾 **正向先行断言** 例如正则表达式 `(T|t)he(?=\sfat)`,表示:匹配大写字母 `T` 或小写字母 `t`,后面跟字母 `h`,后跟字母 `e`。 在括号中,我们定义了正向先行断言,它会引导正则表达式引擎匹配后面跟着 `fat` 的 `The` 或 `the`。 ``` "(T|t)he(?=\sfat)" => The fat cat sat on the mat. ``` **负向先行断言** 当我们需要指定第一部分表达式的后面不跟随某一内容时,使用负向先行断言。负向先行断言的定义跟我们定义的正向先行断言一样, 唯一的区别在于我们使用否定符号 `!` 而不是等号 `=`,例如 `(?!...)`。 我们来看看下面的正则表达式 `(T|t)he(?!\sfat)`,表示:从输入字符串中获取全部 `The` 或者 `the` 且不匹配 `fat` 前面加上一个空格字符。 ``` "(T|t)he(?!\sfat)" => The fat cat sat on the mat. ``` #### 正向后行断言 正向后行断言用于获取跟随在特定模式之后的所有匹配内容。正向后行断言表示为 `(?<=...)`。例如正则表达式 `(?<=(T|t)he\s)(fat|mat)`,表示:从输入字符串中获取在单词 `The` 或 `the` 之后的所有 `fat` 和 `mat` 单词。 ``` "(?<=(T|t)he\s)(fat|mat)" => The fat cat sat on the mat. ``` #### 负向后行断言 负向后行断言是用于获取不跟随在特定模式之后的所有匹配的内容。负向后行断言表示为 `(? The cat sat on cat. ``` **贪婪/懒惰匹配** \<.+\>默认匹配任意字符 \<.+?\> 懒惰匹配任意字符 |------|--------| | ?= | 正向先行断言 | | ?! | 负向先行断言 | | ?\<= | 正向后行断言 | | ?\

相关推荐
旭日东升的xu.4 天前
Python(09)正则表达式
正则表达式
程序员编程指南5 天前
Qt字符串处理与正则表达式应用
c语言·c++·qt·正则表达式
王柏龙5 天前
正则表达式 \b:单词边界
正则表达式
钮钴禄·爱因斯晨9 天前
Java API (二):从 Object 类到正则表达式的核心详解
java·开发语言·信息可视化·正则表达式
愈努力俞幸运10 天前
python 正则表达式
正则表达式
PythonicCC11 天前
Python正则表达式
python·正则表达式
木子杳衫12 天前
【Python】LEGB作用域 + re模块 + 正则表达式
数据库·python·正则表达式
MediaTea13 天前
Python 库手册:re 正则表达式模块
开发语言·python·正则表达式
m0dw15 天前
正则表达式梳理
正则表达式
mortimer16 天前
Python 正则替换陷阱:`\1` 为何变成了 `\x01`?
python·正则表达式