2012-03-06 10 views
1

正規表現を初めて使用しています。私はファイルディスクリプタを作成する関数を使用してコードツリー全体を検索し置換するのに役立つものを探しています。正規表現ヘルプ - 関数に引数を追加する

は例えば、私は第二引数の最後に追加していますそれぞれのケースでsocket(PF_LOCAL,SOCK_STREAM | SOCK_CLOEXEC, 0)

socket(PF_LOCAL,SOCK_STREAM, 0)を変更する必要があるが、私は現在の2番目の引数があることを行っているどのくらい知っているか、どのようなテキストはありませんそれは含まれます。私はそれを行う最善の方法は、2番目のコンマを見つけ、それを私の文字列(" | SOCK_CLOEXEC,")に置き換えることだと思っています。

誰かが私に与えてくれれば非常に役に立ちます。おかげ

答えて

1

私は、これはあなたがたがperlで探しているものであれば全くわからない:

s/socket\(([^,]+),([^,]+),([^,]+)\)/socket($1,$2 | SOCK_CLOEXEC,$3)/ 

意味:

s/to_substitute/substitution_string/「パターンto_substituteを検索し、substitution_stringに置き換える」

そして、私が使用:

"コンマのない文字列" を意味

[^,]+$1$2$3と置換文字列にコピーされた文字列をキャプチャするために使用されている

()

こちらがお役に立てば幸いです。

+0

+1 - そしてStackOverflowを歓迎しますが、参考までに、Perlのreplacement-stringに '\ 1'と書くことはお勧めできません。代わりに' $ 1'をお勧めします。 – ruakh