-2

私はこれを持っています:

//VIOLATION_IGNORED
T_CH  *i_pCH2string;

2 行目から //VIOLATION_IGNORED を読みたいと思います。正規表現を使用して処理するにはどうすればよいですか?

私は理解 APIを使用してそれを書いています。理解は、perl を介して独自の API を使用してスクリプトを作成する静的分析ツールです。2 行目から 1 行目を読み取るための正規表現が必要なだけです。

4

2 に答える 2

0

これはあなたが求めているものを達成しますか?

#!/usr/bin/perl
use warnings;
use strict;

my @file = ('//VIOLATION_IGNORED', 'T_CH  *i_pCH2string');

my $current_line = "";

foreach (@file){
    my $previous_line = $current_line;
    $current_line = $_;
        if ($current_line =~ /T_CH.*?/ ){
            print "$previous_line\n"
            # Do something else? ...
        }
}

出力:

//VIOLATION_IGNORED

または、単純に //VIOLATION_IGNORED を含む行を無視したい場合:

foreach (@array1){
    next if $_ =~ /\/\/VIOLATION_IGNORED/;
    print "$_\n";
    # Do something else? ...
}

出力:

T_CH  *i_pCH2string
于 2013-09-13T13:51:09.027 に答える