正则表达式提取括号内容

时间:2020-02-14 13:40:22

标签: javascript regex

我希望正则表达式不解析代码即可获取RegExp的参数。

RegExp(/a+b/)       Output: /a+b/
RegExp(/a+b/, 'g')  Output: /a+b/, 'g'

我想出了以下正则表达式:

(?:RegExp)\((.*)\)

在大多数示例中都可以正常运行,但在某些情况下(例如,精简的1行JavaScript,包含括号的正则表达式)会失败:

RegExp("myregex")                               - capturing group 1: "myregex" 
Regexp("something"); myfunction("something")    - capturing group 1: "something"); myfunction("something"
RegExp("my(regex)")                             - capturing group 1: "my(regex

这显然是由于找到匹配的右括号。有解决方法吗?

1 个答案:

答案 0 :(得分:0)

尝试此RegEx:

/.*RegExp\((\"(?:.+?)\"|\/(?:.+?)\/.*)\).*/gmi

在此处查看并测试:https://regex101.com/r/cReoV7/6

相关问题