Regex для строки между последними кавычками? - PullRequest
0 голосов
/ 06 июля 2018

Я хочу взять DDEERR в результате в регулярном выражении. Мой пример строки:

("NNNS" lllsds 4.5 ddsdsd "DDEERR")

Я использовал (?<=\s*\s*").*?(?=") для всех строк между "", но я не мог взять только последнюю (или перед правильными скобками).

У вас есть идеи? Спасибо.

1 Ответ

0 голосов
/ 06 июля 2018

Я бы просто использовал жадную точку здесь:

^.*"(.*?)".*$

Демо

Идея состоит в том, что первый .* будет потреблять все до последнего термина, появляющегося в двойных кавычках. Затем мы фиксируем текст внутри этих двойных кавычек как первую (и единственную) группу захвата. Перейдите по ссылке ниже, чтобы увидеть рабочее демо.

Изменить:

Если вам действительно нужно сделать это вообще без каких-либо групп захвата, тогда мы можем попробовать написать шаблон с обходными путями:

(?<=")[^"]+(?="[^"]*$)

Демо

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