正则表达式

字符

|---------|-----------------------------------------------------|----------|---------|
| 语法 | 说明 | 实例 | 匹配 |
| 一般字符 | 匹配自身 | abc | abc |
| . | 匹配任意字符(除换行符\n) | a.c | abc |
| \ | 转义字符,使特殊字符失效 | a\.c | a.c |
| ... | 字符集,匹配\[\]中任意字符。 abc或a-c \^abc:abc以外的字符 | abcd | abd acd |

预定义字符集(\d\D\s\S\w\W)

|-----|-----------------------------------|-------|-----|
| 语法 | 说明 | 实例 | 匹配 |
| \d | 数字,0-9 | a\dc | a1c |
| \D | 非数字\^\\d | a\Dc | abc |
| \s | 空白字符,\<空格\>\\t\\n\\r\\f\\v\\r | a\sb | a b |
| \S | 非空白字符,\^\\s | a\Sc | abc |
| \w | 单词字符,A-Za-z0-9 | a\wc | abc |
| \W | 非单词字符,\^\\w | a\Wc | a c |

数量词(用在字符或(...)之后)

|-------|-------------------------------------------------------------------------------|--------|----------|
| 语法 | 说明 | 实例 | 匹配 |
| * | 匹配前一个字符0或者无数次 | abc* | ab abccc |
| + | |---------------| | 匹配前一个字符1或者无数次 | | abc+ | abc abcc |
| ? | 匹配前一个字符0或者1次 | abc? | ab abc |
| {m} | 匹配前一个字符m次 | ab{2}c | abbc |
| {m,n} | |------------------------------------| | 匹配前一个字符m至n次 {0,m} 0到m次 {m,} :m到无限次 | | abc+ | abc abcc |

边界匹配(不消耗待匹配字符串中字符)

|-----|-----------------------------------------------------|---------|--------|
| 语法 | 说明 | 实例 | 匹配 |
| ^ | 匹配字符串开头 在多行匹配中匹配每一行开头 | ^abc | abc |
| | |-----------------------| | 匹配字符串末尾 在多行匹配中匹配每一行末尾 | | abc | abc |
| \A | 仅匹配字符串开头 | \Aabc | abc |
| \Z | 仅匹配字符串结尾 | abc\Z | abc |
| \b | 匹配\w和\W之间 | a\b!bc | abc |
| \B | \^\\b | a\Bbc | ab abc |

逻辑分组

|-----------------|-----------------------------------------------------------|-------------------------|-------------|
| 语法 | 说明 | 实例 | 匹配 |
| | | |左右表达式任意匹配一个 总是先匹配左边的,匹配到左边则跳过右边表达式 如果没有加(),|则匹配整个正则表达式 | abc|dfe | abc dfe |
| (...) | 被()括起来的表达式作为一个分组,分组编号依次+1。()作为整体,后面可以接量词。表达式中的|仅在()该组有效 | (abc){2} (abc|edf) | abcabc def |
| (?P<name>...) | 除原有编号,在起一个别名name | (?P<id>abc) | abc |
| (?P=name) | 引用name匹配到的字符串 | (?P<id>\d)abc(?P=id) | 1abc1 5abc5 |
| \<number> | 引用编号为<number>匹配到的字符串 | (\d)abc\1 | 2abc2 |

相关推荐
Patrick在香港2 天前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
echome8882 天前
Python 正则表达式:5 个日常够用的模式
python·正则表达式
yivifu3 天前
能够使用Python正则表达式函数的文本处理工具——Calibre电子书编辑器
正则表达式
全栈陈序员4 天前
【Python】基础语法入门(二十九)—— 正则表达式实战:文本处理利器
开发语言·人工智能·python·正则表达式
BruceXu10 天前
\b 在中文里会静默失效:三个正则坑和一份能用的字符边界方案
正则表达式
阿昭L11 天前
正则表达式
正则表达式·编译原理
波力海苔夹心脆67512 天前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#
FRing0313 天前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
小白快快跑哦15 天前
python-字符串全解(六):正则表达式-元字符与转义
python·正则表达式·字符串·元字符·转义
小白快快跑哦16 天前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算