使用正则表达式 .*? 可以向后匹配最短的,那么如何向前匹配最短的呢
.*?
向前的不再能使用 .*? ,因为它会从第一个字母向后找,直到有匹配的,也就相当于找了一个最长的匹配
所以这时候应该换一种思路
使用 a[^a]+ 来匹配,也就是说要匹配的字符串前面不能有a,那就是最短的匹配
a[^a]+
我们来看一个 Python 写的例子:
reg = r'```[^```]+' + clipContent + r'.*?```'
我们要从 clipContent 向前找到第一次出现 ```` ` ,所以思路应该是向前找到第一个你所想要的内容
clipContent
这里有一个实际案例
← 监听剪贴板 在文字中匹配相应的内容 适用于题库 毕业设计(水表识别)后端知识整理→