1

私はラインを持っています

if (($x > 0) && ($flag == 1))

最後の ")" をコロン (:) に置き換えたい。そうなる

if (($x > 0) && ($flag == 1):

使ってみ $line =~ s/\)$/\:/;たけどダメだった

任意の助けをいただければ幸いです

4

3 に答える 3

2

)以下は、最後を に置き換える必要があり:ます。

$line =~ s/\)([^)]*)$/:$1/;
于 2013-10-04T05:59:21.267 に答える
0

あなたが探している正規表現は

$line =~ s/.*\K\)/:/;

strictwarningsを使用している場合、変数が以前に宣言されていないと、 $line で変数を使用する際に問題が発生する可能性があります。Perl 正規表現を読んでください。

于 2013-10-04T03:55:15.640 に答える
0

行末に空白 (改行など) がある可能性があるため (明示的に削除しない限り)、次の正規表現は (改行を保持しながら) トリックを実行する必要があります。

$line =~ s/\)(\s*)$/:$1/;
于 2013-10-04T05:52:13.040 に答える