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

请问为什么用re.VERBOSE的时候不是输出'hello,<em>world</em>'?另外请问那个sub函数具体是怎么匹配并去替换的?多谢!... 请问为什么用re.VERBOSE的时候不是输出'hello, <em>world</em>'?另外请问那个sub函数具体是怎么匹配并去替换的?多谢! 展开
 我来答
albumin
2015-03-31 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2401万
展开全部
因为你在使用re.VERBOSE的时候
) end group
\* endding 这两行都没有加上#号,所以end group和endding不是注释,而是正则的一部分,不能找到匹配,就不会替换。
这两行要有#号
) #end group
\* #endding

sub函数查找匹配,然后替换,在这里就是查找两个*号中的字符串,\*([^\*]+)\*,星号中间的字符串在正则中位于第一对圆括号内,可以用\1引用,r'<em>\1</em>'表示用"<em>星号中间的字符串</em>"替换查找到的字符串
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式