2020-09-16 ·Python·正则表达式Python

正则表达式 向前最短匹配

使用正则表达式 .*? 可以向后匹配最短的,那么如何向前匹配最短的呢

向前的不再能使用 .*? ,因为它会从第一个字母向后找,直到有匹配的,也就相当于找了一个最长的匹配

所以这时候应该换一种思路

使用 a[^a]+ 来匹配,也就是说要匹配的字符串前面不能有a,那就是最短的匹配

我们来看一个 Python 写的例子:

reg = r'```[^```]+' + clipContent + r'.*?```'
reg = r'```[^```]+' + clipContent + r'.*?```'

我们要从 clipContent 向前找到第一次出现 ```` ` ,所以思路应该是向前找到第一个你所想要的内容

这里有一个实际案例


返回