DeTechn Blog

用Python匹配HTML tag的时候,<.> 和 <.?> 有什么区别

第一个代表贪心匹配,第二个代表非贪心;
?在一般正则表达式里的语法是指的"零次或一次匹配左边的字符或表达式"相当于{0,1}
而当?后缀于*,+,?,{n},{n,},{n,m}之后,则代表非贪心匹配模式,也就是说,尽可能少的匹配左边的字符或表达式,这里是尽可能少的匹配.(任意字符)

所以:第一种写法是,尽可能多的匹配,就是匹配到的字符串尽量长,第二中写法是尽可能少的匹配,就是匹配到的字符串尽量短。
比如tag>tag>end,第一个会匹配tag>tag>,第二个会匹配

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »