Regex для извлечения любой строки (с двойной кавычкой) между двойной кавычкой - PullRequest
0 голосов
/ 06 декабря 2018

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

""aa"     => "aa
"aa"      => aa
""        =>
"a\nb"    => a\nb
"\u0082"  => \u0082
"ᅚ竁퇈"   => ᅚ竁퇈

Я пытался \"([^\"]*)\", но потерпел неудачу на "" aa "=> "аа

1 Ответ

0 голосов
/ 06 декабря 2018

Ваш пример "" a "не может быть обработан, потому что вы не знаете, если take null или" aa.

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

sed 's/^"//;s/"$//'

Тест:

$ cat file
""aa"
"aa"
""
"a\nb"
"\u0082"
"ᅚ竁퇈"

$ cat file | sed 's/^"//;s/"$//'
"aa
aa

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