Regex для извлечения содержимого скобок - PullRequest
1 голос
/ 14 февраля 2020

Я хочу, чтобы регулярное выражение получало аргументы RegExp без разбора кода.

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

Я предложил следующее регулярное выражение:

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

В большинстве случаев работает нормально, но в некоторых случаях не работает (например, минимизировано, однострочные JavaScripts, регулярные выражения, включая скобки) ):

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 голосов
/ 14 февраля 2020

Попробуйте это RegEx:

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

Просмотрите и протестируйте его здесь: https://regex101.com/r/cReoV7/6

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...