在Perl中,我可以同时进行替换和捕获组匹配。例如:
在Python中,我可以使用re.sub函数进行替换,如下所示。但是,我找不到一种在不调用另一个函数re.match并执行附加操作的情况下捕获\d+组匹配的方法。
有人知道如何从同一re.sub操作中捕获"\d+"匹配值作为单独变量吗?我尝试了以下命令,但它不起作用。
my $string = "abcdef123";
$string =~ s/(\d+)//;
my $groupMatched = $1; # $groupMatched is 123
在Python中,我可以使用re.sub函数进行替换,如下所示。但是,我找不到一种在不调用另一个函数re.match并执行附加操作的情况下捕获\d+组匹配的方法。
string = "abcdef123"
string = re.sub("(\d+)", "", string)
有人知道如何从同一re.sub操作中捕获"\d+"匹配值作为单独变量吗?我尝试了以下命令,但它不起作用。
print r'\1'
re.sub
的返回对象是一个字符串。如果你有这样的东西rx_obj = re.search('123$', another_string)
,你会得到一个可以被rx_obj.group()
捕获的RE对象。 - Revanif ($str =~ s/(\d+)//){ $x = $1; }
- stevieb