正则表达式

文章中使用的工具

regex101: build, test, and debug regex

语法一:?

?表示:?前的字符存在0个或一个

举例:

语法二:*

*表示:*前的字符可以出现0次或多次(包括一次)

语法三:+

+表示:+前的字符存在一个或多个

语法四:{}

{}表示:{}前字符出现的次数要在{}的范围内

如:a{2} 表示a要连续出现两次。

XML 复制代码
a   - 不符合
aa  - 符合
aba - 不符合

a{2, 6}表示a出现的次数在2-6这个范围内

XML 复制代码
a         - 不符合
aa        - 符合
aaa       - 符合
aaaaaa    - (6个)符合

a{2, }表示a出现的次数大于等于2(可以是无穷多个)

a{, 6}表示a出现的次数在0-6

语法五:()

()表示:可以让多个字符去匹配规则

语法六:|

|表示:或者

如:

a|b 可以匹配a,也可以匹配b

a(b|c) 可以匹配ab,也可以匹配ac

语法七:\[\]

\[\]表示:

(1)只能匹配\[\]内的字符

如:abc

abc+

(2)\[\]中可以表示范围

如:

a-z 表示 从a-z的所有小写字母

A-Z 表示从A-Z的所有大写字母

0-9 表示从0-9的所有数字字符

a-zA-z0-9 相当于前三条加一起

(3)加上^表示该字符或者该范围的字符是不包含的

如:\^A-Z0-9

语法八:元字符

(1)\d表示:数字字符

(2)\w表示:单词字符(包含字母、数字、下划线)

(3)\s表示:空白符(包含空格、tab字符、换行符)

(4)上面三条对应的大写表示的意思与其相反

如:\D表示:非数字字符,\W表示非单词字符,\S表示非空白符

语法九:.

.表示:任意字符(除了换行符)

语法十:^ 和 $

^表示匹配行首

$表示匹配行尾

语法十一:贪婪匹配和懒惰匹配

默认情况下是贪婪匹配

举例:

可以看到表达式匹配到了所有的字符

如果我们想将多个标签(如:<span>)拆分开,可以在.*后面加一个?

现在就匹配到了多个标签

语法十二:转义字符\

对于有特殊含义的字符(如:.表示匹配任意字符),我们可以通过在前面加上\让其作为正常字符

如:

\. 表示一个普通的英文句号.

正则提取的一个比较万能的写法

XML 复制代码
(.*?)

(.*?)锁匹配的内容是你所需要的内容,在这个表达式的前后加上其前后字段即可

举例:

在正则提取中可以提取出cde字符串

相关推荐
Patrick在香港2 天前
Claude Prompt 香港场景:公文里「今日」落在 6 个日历日上,「翌日」锚错了 5 天
python·自然语言处理·正则表达式·claude·数据清洗
梦帮科技3 天前
Next.js 16 模块化单体实战:App Router、领域模块与 Route Handler 分层
css·数据结构·链表·正则表达式·node.js·json·html5
yume_sibai9 天前
正则表达式完全指南(基础语法 + 实战应用 + 性能优化 + 最佳实践)
开发语言·正则表达式·c#
研☆香10 天前
js中使用的正则表达式
开发语言·javascript·正则表达式
2601_9622935315 天前
浅学python | 正则表达式集锦
正则表达式·字符串匹配·python知识·浅学python·ip地址检查
2601_9622955815 天前
Python中正则表达式的知识汇总分享
python·正则表达式·模块·语法·匹配
启观川15 天前
Python基础-第 16 章 综合案例:客户信息管理系统
开发语言·笔记·python·正则表达式
2601_9622940515 天前
Python 操作 Word:如何查找、替换和批量修改文本
python·正则表达式·word·文档处理·查找替换
for_ever_love__20 天前
python基础语法学习: 正则表达式
python·学习·正则表达式
asdfg125896321 天前
一个例子通俗理解Java中正则表达式用法
java·正则表达式