私はすべてのJavaScript関数を1か月前にアルファベット順に並べるように整理したいと思っていましたが、今日は正規表現で再生していました。ネストされた関数が移動するのを避けるために外側の関数にマッチさせたいと思っています。すべてのjavascript関数に一致する正規表現
このページのbobble bubbleの回答を出発点として使用しました。 Regular Expression to match outer brackets
function\s.*\(.*\).*\{(?>[^.*\n*]+|(?R))*\}
これは、すべての関数定義と一致し、最初の中括弧に引数をキャプチャします。なんらかの理由で、改行パターン[^.*\n*]+
と一致するようにはできませんが、それは式の一部ですが、それだけではすべてうまく一致します。
私は検索のための私のツールとして崇高なテキストエディタを使用していましたが、JSファイルではおそらくコードを操作する簡単な方法になります。
。順序はセマンティック駆動でなければなりません。とにかく、あなたがそれを正しく解決したいならば、JS構文パーサを取ると、100倍簡単で信頼性が高くなります。 – zerkms
新しい行を探す必要があります。 '\ nfunction。*?\ n \}'これかもしれない... – Akxe