如何将一位数字作为捕获组

时间:2014-06-19 22:58:52

标签: regex perl

我想在perl

中连接以下内容
ab0 with NC_ab0
ab1 with NC_ab1
...

我想使用像

这样的东西
Connect ab\d ab${1}.

但是,\d无法形成捕获组。 知道如何将其作为捕获组并使用${1}来引用它吗?

由于

1 个答案:

答案 0 :(得分:4)

如果要将该值与正则表达式中的其他位置匹配,只需将括号括在\d附近。

然后使用\1来引用正则表达式的LHS中的捕获组,因为$1旨在用于替换的RHS。

use strict;
use warnings;

while (<DATA>) {
    if (/ab(\d) with NC_ab\1/) {
        print;
    }
}

__DATA__
ab0 with NC_ab0
ab1 with NC_ab1
ab1 with NC_ab5
ab3 with NC_ab1

输出:

ab0 with NC_ab0
ab1 with NC_ab1

这是我目前对你的问题意味着什么的最佳猜测。如果这不正确,请重新构建问题。