正则基础

常用符号

比较常用的是:

这里准备了一张表(来自小甲鱼), 列出了正则表达式中常用的符号, 有需要注意的地方将在表下方说明.

贪婪? 非贪婪?

? 还有个作用是让匹配模式变为非贪婪匹配. 什么是贪婪? 非贪婪?

如:

String str = "abcaxc";
Patter p = "ab*c";

默认情况下, *+? 都是贪婪匹配, 在后面加上 ? 后, 即: *?+??? 为非贪婪匹配.

(x*?)、 (x*)、 x*?、 x*

表达式中的 x 表示可以用 .\d\w 等符号代替, 表示要匹配的内容:

ptyhon

python 中支持正则表达式的模块是 re, 使用时 import re 即可.

searchmatch 返回的是一个正则表达式对象, 需要通过 group(index) 去获取内容, index 与正则表达式中使用的 ( ) 有关:

index 指出获取正则表达式中第几个括号的返回结果, 0 (或者省略 index) 表示获取无括号的结果, 即 (x*?)x*? 通过 group(0) 返回的结果是一样的, 如果 index 大于括号的数量则会报错;

比如 r = re.match(r'(.*?)r(.*?)r', 'xxxryyyr'):