Regex正则笔记

在线正则表达式测试

mark

标准字符集合

\d 匹配数字
\w 字母 数字 下划线 汉字
\s 空白符
. 任意字符
\D 非数字
\W 非 字母 数字 下划线 汉字

自定义字符集合

[abcd] 匹配abcd字符
[^abcd] 匹配除abcd的字符
[a-p0-7] 匹配a到p和0到7的字符

重复匹配

\d\d\d\d 匹配四位连续数字
\d{10} 匹配十位连续数字
(规则){10} 规则重复十次
\d{m,n} 至少重复m次 至多重复n次
\d{m,} 最少重复m次
+等价于{1,}
?等价于{0,1}
*等价于{0,}
贪婪模式 匹配的字符符合表达式越多越好
勉强模式 匹配的字符符合表达式越少越好
在表示匹配次数的表达式后面加?则会改为非贪婪模式

匹配模式

IGNORECASE 忽略大小写模式
SINGLELINE 单行模式
MULTILINE 多行模式

进阶

反向引用 \nnn 对每一对()编号

预搜索(零宽断言) 判断当前位置的前后字符是否符合指定条件 但不匹配前后字符 是对位置的匹配
(?=exp)断言自身位置后能匹配exp
(?<=exp)自身位置前能匹配exp
(?!exp)自身位置后不能匹配exp
(?<!exp)自身位置前不能匹配exp

^ 与字符串开始的地方匹配 ^ab
$ 与字符串结束的地方匹配 ab$
\b 匹配一个单词边界 boy\b aaaboy匹配
|

示例

([\w-]+)@([\w-]+)(\.[a-zA-Z]{2,5})+ 邮箱格式匹配
<(A-Za-z)+>.+</\1> 匹配标签中的字符串
mark

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 标准字符集合
  2. 2. 自定义字符集合
  3. 3. 重复匹配
  4. 4. 匹配模式
  5. 5. 进阶
  6. 6. 示例