0
我需要優化JavaScript項目中的所有正則表達式。我通過簡單搜索找到了使用新RegExp創建的所有內容。問題是以文字形式創建的問題:/asd/
。用於查找項目中所有正則表達式的正則表達式
我正在使用PhPStorm,因此正則表達式引擎是Java。這意味着我們看起來很後面。所以我想出了這個:
(?<=[\s=(,\[\?:;|)])\/[^*\n/][^\n/]*[^*]\/
這意味着在給我的一切,看起來像/.../
並且不受下列之一前面:\s= (,[?:;|)
。
- 正則表達式可以前面有其他的東西嗎?
- 你有更好的主意嗎?
搜索由String和RegExp類使用的方法是不可接受的(exec,replace ...),因爲在某些項目中查找聲明非常困難並且需要大量時間。另外,你可以有多個使用相同的正則表達式。
只有在特定的上下文中,您無法有效地使用正則表達式解析源代碼。因此,後顧無助。您可以嘗試使用['/[^\\/]*(?:\\/[^\\/]*)*/'](https://regex101.com/r/tfzR0C/1),但在那裏恐怕會對它「過火」。是的,你可以在它之前加一個'(?<!\\)',但是仍然會有其他邊緣情況(理論上)。 –
在JavaScript中的正則表達式還要注意表達, 摹後可以有標誌 - 全球 我 - 不區分大小寫 米 - 多行 Ÿ - 粘搜索 – Stefan
您可以搜索使用正則表達式的所有方法:'exec', 'test','match','search','replace'和'split' –