初学Python,询问一个关于正则表达式的问题

请问为什么用re.VERBOSE的时候不是输出'hello, <em>world</em>'?另外请问那个sub函数具体是怎么匹配并去替换的?多谢!

因为你在使用re.VERBOSE的时候
) end group
\* endding 这两行都没有加上#号,所以end group和endding不是注释,而是正则的一部分,不能找到匹配,就不会替换。
这两行要有#号
) #end group
\* #endding

sub函数查找匹配,然后替换,在这里就是查找两个*号中的字符串,\*([^\*]+)\*,星号中间的字符串在正则中位于第一对圆括号内,可以用\1引用,r'<em>\1</em>'表示用"<em>星号中间的字符串</em>"替换查找到的字符串
温馨提示:答案为网友推荐,仅供参考
相似回答