正则表达式

1、 基本匹配

正则表达式其实就是在执行搜索时的格式,由字母数字和字符组成

2、 元字符
元字符 描述
. 句号匹配任意单个字符除了换行符。
字符种类。匹配方括号内的任意字符。方括号内的 . 就是 .
\^ 否定的字符种类。匹配除了方括号里的任意字符
* 匹配>=0个重复的在*号之前的字符。
+ 匹配>=1个重复的+号前的字符。
? 标记?之前的字符为可选.
{n,m} 匹配num个大括号之前的字符或字符集 (n <= num <= m). {n,}表示个数大于等于n ;{n}表示固定n个
(xyz) 字符集,匹配与 xyz 完全相等的字符串.
| 或运算符,匹配符号前或后的字符.
\ 转义字符,用于匹配一些保留的字符 ` ( ) { } . * + ? ^ $ \
^ 指定匹配的开头字符为其后的字符
$ 指定匹配的末端字符为其前的字符
3、 简写字符集
简写 描述
. 除换行符外的所有字符
\w 匹配所有字母数字,等同于 [a-zA-Z0-9_]
\W 匹配所有非字母数字,即符号,等同于: [^\w]
\d 匹配数字: [0-9]
\D 匹配非数字: [^\d]
\s 匹配所有空格字符,等同于: [\t\n\f\r\p{Z}]
\S 匹配所有非空格字符: [^\s]
\f 匹配一个换页符
\n 匹配一个换行符
\r 匹配一个回车符
\t 匹配一个制表符
\v 匹配一个垂直制表符
\p 匹配 CR/LF(等同于 \r\n),用来匹配 DOS 行终止符
4、 零宽度断言

零宽度断言如下:

符号 描述
?= 正先行断言-存在
?! 负先行断言-排除
?<= 正后发断言-存在
?<! 负后发断言-排除
5、 标志

标志也叫模式修正符,因为它可以用来修改表达式的搜索结果。 这些标志可以任意的组合使用,它也是整个正则表达式的一部分。

标志 描述
i 忽略大小写。
g 全局搜索。不仅仅返回第一个匹配的,而是返回全部
m 多行修饰符:锚点元字符 ^ $ 工作范围在每行的起始。
6、 贪婪匹配与惰性匹配(Greedy vs lazy matching)

正则表达式默认采用贪婪匹配模式,在该模式下意味着会匹配尽可能长的子串。我们可以使用 ? 将贪婪匹配模式转化为惰性匹配模式。

相关推荐
只愿云淡风清6 小时前
正则表达式学习笔记-01 正则表达式的来源
笔记·学习·正则表达式
半亩码田17 小时前
C#转Python第4.8篇:正则表达式:Python re 模块 vs C# System.Text.RegularExpressions
python·正则表达式·c#
残诗1 天前
正则表达式分类掌握与应用
正则表达式
databook7 天前
面向数据工程师的正则表达式:从日志清洗到字段提取
python·正则表达式·数据分析
小白快快跑哦8 天前
python-字符串全解(六):正则表达式-位置断言
python·正则表达式·位置断言
哭泣方源炼蛊11 天前
正则表达式c++内容汇集
数据库·c++·mysql·正则表达式
划破黑暗的第一缕曙光11 天前
正则表达式使用规则和用例
正则表达式·语法·图表·语法规则·练习用例
小白快快跑哦12 天前
python-字符串全解(六):正则表达式-量词
python·正则表达式·字符串
福兮说12 天前
JS 正则的六个坑:带 g 的 test() 一真一假、空匹配死循环、replace 里的 $
开发语言·前端·javascript·正则表达式
Rebecca_aLi12 天前
码匠教育:零基础学 Python,标识符到循环全套基础语法解析
开发语言·python·正则表达式