我对正则表达式毫无希望,并且想知道是否有人可以帮我解释这个python正则表达式用简单的英语做什么吗?
text = re.sub(r'<[^>]*?>',' ',strHTML)
我知道任何比赛都会被''取代,但我对正则表达式匹配的内容感到迷茫。 在我看来,它匹配'&lt;'的所有实例,忽略了'&gt;'的所有实例通过'[^&gt;]',但我不知道为什么你会这样做,因为它不应该与其他任何东西相匹配。 我收集'*?&gt;'匹配任何文本块与'&gt;'在其中,例如'p&gt;'
有人可以帮我解决明确的问题吗?
答案 0 :(得分:4)
看起来它会删除所有代码:<[^>]*?>
<
- 匹配<
字符[^>]*?
*?
- 在0次或更多次之前重复(事实上?
在这里是多余的,因为它不可能匹配超过最小数量的字符)[^>]
- 匹配任何非>
字符>
- 匹配>
字符简而言之,就是找到标签的开头,然后查找不是标签末尾的所有(如果有的话)字符。然后找到标签的末尾。
此外,还有一项服务可以自动生成文字说明http://xenon.stanford.edu/~xusch/regexp/