1

私は正規表現にまったく慣れていないので、検索にのみ使用します。だから私はegrepで遊んでいますが、egrepではいくつかの制限があります。

Linuxの場合、正規表現に適したツールはありますか?sedがあることは知っていますが、通常、検索と置換のシナリオで使用されます。ファイルを検索するためだけにsedを使用できますか?はいの場合、どのように?

if私の特定の質問に来ると、ステートメントに追加の括弧が使用されているCソースコードのインスタンスを検索する必要があります。

if (( a == b))一致する必要があり、一致しif (a == b)ない必要があります。
if(a && ((b||c)))一致する必要があり、一致しif(a && (b||c))ない必要があります。

シンプルにしたいので、後でケースを追加します>= !=

4

1 に答える 1

5

これは、正規表現では(少なくともそれ自体では)不可能です。これは、正規表現が括弧の任意のレベルのネストを追跡できないためです。

于 2012-06-07T14:39:01.830 に答える