用于查找项目中所有正则表达式的正则表达式
问题描述:
我需要优化JavaScript项目中的所有正则表达式。我通过简单搜索找到了使用新RegExp创建的所有内容。问题是以文字形式创建的问题:/asd/
。用于查找项目中所有正则表达式的正则表达式
我正在使用PhPStorm,因此正则表达式引擎是Java。这意味着我们看起来很后面。所以我想出了这个:
(?<=[\s=(,\[\?:;|)])\/[^*\n/][^\n/]*[^*]\/
这意味着在给我的一切,看起来像/.../
并且不受下列之一前面:\s= (,[?:;|)
。
- 正则表达式可以前面有其他的东西吗?
- 你有更好的主意吗?
搜索由String和RegExp类使用的方法是不可接受的(exec,replace ...),因为在某些项目中查找声明非常困难并且需要大量时间。另外,你可以有多个使用相同的正则表达式。
答
我的正则表达式有点偏离。我最终使用了这种方法:
(?<=[\s=(,\[\?:;|)])\/[^\n/].*?\/
只有在特定的上下文中,您无法有效地使用正则表达式解析源代码。因此,后顾无助。您可以尝试使用['/[^\\/]*(?:\\/[^\\/]*)*/'](https://regex101.com/r/tfzR0C/1),但在那里恐怕会对它“过火”。是的,你可以在它之前加一个'(?
在JavaScript中的正则表达式还要注意表达, 摹后可以有标志 - 全球 我 - 不区分大小写 米 - 多行 Ÿ - 粘搜索 – Stefan
您可以搜索使用正则表达式的所有方法:'exec', 'test','match','search','replace'和'split' –