我想整理我的所有的JavaScript函數把它們按照字母順序在一個月前左右,並用正則表達式玩今天讓我再次想到這一點。我只想匹配外部函數,以避免嵌套函數被移動,幾乎有我認爲,但有一些我失蹤。正則表達式匹配所有的JavaScript功能
我用這個頁面作爲起點上漏接泡沫的答案。 Regular Expression to match outer brackets
function\s.*\(.*\).*\{(?>[^.*\n*]+|(?R))*\}
這將匹配所有的功能定義和捕捉參數到第一個大括號。出於某種原因,我不能得到它,而它是表達的一部分匹配換行模式[^.*\n*]+
,但是當它是所有的本身它匹配就好了。
我用崇高的文本編輯器作爲我的工具來搜索,但它會在一個JS文件可能是一種簡單的方法來操作代碼結束。
「把它們按照字母順序」 ---這是一個可怕的想法,真的。順序必須是語義驅動的。無論如何,如果你想正確解決它 - 採取任何JS語法解析器,它會更容易和更可靠100倍。 – zerkms
你將不得不尋找新的線。 '\ nfunction。*?\ n \}'這可能是... – Akxe