【发布时间】:2013-03-29 20:18:09
【问题描述】:
我的文本中有如下所示的 URL:
<https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/reportAProblem?p
=22000073760328&o=i>
我已使用以下模式尝试删除它们:
re.sub(r'\<http.+?\>', '', plain, re.S)
但它不会全部获取,例如,这个不会被删除:
<http://ax.phobos.apple.com.edgesuite.net/email/images_shared/spacer_99999\r\n9.gif>
【问题讨论】:
-
如果您在分配第二个字符串 (
r'<http://ax.phobos.apple.com.edgesuite.net/email/images_shared/spacer_99999\r\n9.gif>') 之前放置 r(原始字符串)或放置双反斜杠 (\\) (<http://ax.phobos.apple.com.edgesuite.net/email/images_shared/spacer_99999\\r\\n9.gif>) 它将起作用 -
这很奇怪。玩了一会儿,它确实匹配它:
re.match(r'.', '\n', re.S)有效,但re.sub(r'.', '', '\n', re.S)无效。所以它似乎匹配,但是替换部分以某种方式失败了......真的不确定在哪里或如何。好像 re.S 对re.sub不起作用。 -
是的,这就是发生在我身上的事情。一些 URL 被删除,但其他 URL 仍然存在。