正则表达式

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

限定符号

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. ``` **贪婪/懒惰匹配** \<.+\>默认匹配任意字符 \<.+?\> 懒惰匹配任意字符 |------|--------| | ?= | 正向先行断言 | | ?! | 负向先行断言 | | ?\<= | 正向后行断言 | | ?\

相关推荐
逝水如流年轻往返染尘2 天前
正则表达式字符串
java·正则表达式
AI_56784 天前
Python正则表达式终极指南:从模式匹配到文本工程的智能跃迁
人工智能·python·正则表达式
晚霞的不甘6 天前
Flutter for OpenHarmony从基础到专业:深度解析新版番茄钟的倒计时优化
android·flutter·ui·正则表达式·前端框架·鸿蒙
幼稚园的山代王9 天前
Java 正则核心 API 拆解
java·开发语言·正则表达式
马猴烧酒.9 天前
【正则表达式详解|Java】从0学习实战够用
学习·正则表达式
流㶡10 天前
Python数据分析中的正则表达式:匹配字符串与常用函数详解
正则表达式
sulikey11 天前
B站网页端弹幕屏蔽词正则表达式
正则表达式·bilibili·哔哩哔哩·屏蔽弹幕
sulikey11 天前
B站移动客户端的正则表达式屏蔽规则
正则表达式·bilibili·哔哩哔哩·弹幕屏蔽
longailk11 天前
grep正则表达式小失误
java·服务器·正则表达式
白小筠11 天前
Python之正则表达式
开发语言·python·正则表达式