-2

我需要 Python 中的 Perl 特定代码。

这是 Perl 代码:

use strict;
use warnings;


my $s = 'http://www.bergdorfgoodman.com/Ippolita-18k-Gold-Rock-Candy-Mini-Single-Square-Pendant-Necklace/prod108010011/p.prod#.U75MVqY-PtS';

$s =~ s/(.*\.com)\/[^\/]+(\/prod[^\_]*\/p\.prod).*/$1$2/si;


print $s ."\n";

我已经通过$1和$2处理了捕获部分,我不知道如何在Python中完成。

输出:

http://www.bergdorfgoodman.com/prod108010011/p.prod
4

1 回答 1

1

这是Python代码:

import re
p = re.compile(ur'(.*\.com)\/[^\/]+(\/prod[^\_]*\/p\.prod).*', re.DOTALL | re.IGNORECASE)
test_str = u"http://www.bergdorfgoodman.com/Ippolita-18k-Gold-Rock-Candy-Mini-Single-Square-Pendant-Necklace/prod108010011/p.prod#.U75MVqY-PtS"
subst = ur"\1\2"
result = re.sub(p, subst, test_str)

在 Python 中,您需要在替换字符串中使用\1而不是。$1

请参阅IDEONE 上的正则表达式演示和代码演示

输出:

http://www.bergdorfgoodman.com/prod108010011/p.prod
于 2015-05-10T12:45:46.510 回答