如何使用perl正则表达式找到只有一组括号的行?

时间:2014-01-13 15:03:18

标签: regex perl

我在文件中有这些行,例如:

row 1 (ddkdkdkdeieie) (ddkdkdkdeieie) (ddkdkdkdeieie)
row 2 (ddkdkdkdeieie)
row 3 (ddkdkdkdeieie) (ddkdkdkdeieie)
row 4 (ddkdkdkdeieie)

我正在尝试找到一个只有一组括号的行的模式。在上面的示例中,这将是第2行和第4行。

我试过这个,但没有使用perl正则表达式....

     /^\(.*\)$/

1 个答案:

答案 0 :(得分:1)

也许以下内容会有所帮助:

use strict;
use warnings;

while (<DATA>) {
    print if !/(?:\).*\()/;
}

__DATA__
row 1 (ddkdkdkdeieie) (ddkdkdkdeieie) (ddkdkdkdeieie)
row 2 (ddkdkdkdeieie)
row 3 (ddkdkdkdeieie) (ddkdkdkdeieie)
row 4 (ddkdkdkdeieie)

输出:

row 2 (ddkdkdkdeieie)
row 4 (ddkdkdkdeieie)