正则表达式

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)

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

相关推荐
Hubert_xx5 小时前
SQL正则表达式总结
前端·sql·正则表达式
phubing4 天前
Oracle 正则表达式匹配(Oracle 11g)
oracle·正则表达式
不二狗5 天前
每日算法 -【Swift 算法】字符串转整数算法题详解:myAtoi 实现与正则表达式对比
算法·正则表达式·swift
尘埃不入你眼眸5 天前
Python字符串及正则表达式
正则表达式
Java永无止境6 天前
正则表达式:字符串模式匹配的利器
java·开发语言·正则表达式·常见api
程序猿多布6 天前
C# 正则表达式
正则表达式
vortex57 天前
正则表达式进阶(四):性能优化与调试技巧
正则表达式
满怀10158 天前
【Python正则表达式终极指南】从零到工程级实战
开发语言·python·正则表达式·自动化·文本处理·数据清晰
fictionist8 天前
正则表达式篇
linux·运维·服务器·数据库·mysql·正则表达式·c#