正则表达式

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

限定符号

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

相关推荐
小糖学代码15 小时前
LLM系列:1.python入门:16.正则表达式与文本处理 (re)
人工智能·pytorch·python·深度学习·神经网络·正则表达式
Irene199116 小时前
(课堂笔记)SQL 临时表、视图、正则表达式
正则表达式·视图·临时表
2301_800976931 天前
正则表达式
开发语言·python·正则表达式
学会去珍惜2 天前
c语言“或”符号
正则表达式·编程语言·文件操作·并发编程·文本处理
计算机安禾3 天前
【Linux从入门到精通】第27篇:文本处理三剑客(上)——grep 正则表达式实战
linux·运维·正则表达式
zl_dfq8 天前
服务器设计 之 【正则表达式及C++正则库的简介与使用】
正则表达式
RNEA ESIO9 天前
SQL中的REGEXP正则表达式使用指南
数据库·sql·正则表达式
研☆香11 天前
聊一聊js中的正则表达式的应用
前端·javascript·正则表达式
麦芽糖021912 天前
python进阶六 正则表达式
android·python·正则表达式
Watermelo61713 天前
理解 JavaScript 中的“ / ”:路径、资源与目录、nginx配置、请求、转义的那些事
前端·javascript·vue.js·chrome·nginx·正则表达式·seo