Regex 正则表达式提取双引号之间的任何字符串(带双引号)

Regex 正则表达式提取双引号之间的任何字符串(带双引号),regex,Regex,我不知道如何提取双引号之间的任何字符串,该字符串可能包含双引号,例如: ""aa" => "aa "aa" => aa "" => "a\nb" => a\nb "\u0082" => \u0082 "ᅚ竁퇈" => ᅚ竁퇈 我尝试了\[^\]*\但在aa=>aa上失败了您的示例a无法处理,因为您不知道是采用null还是aa 无论如何,如果您的示例在一行上,您可以使用regex begining和end: sed

我不知道如何提取双引号之间的任何字符串,该字符串可能包含双引号,例如:

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

我尝试了\[^\]*\但在aa=>aa上失败了

您的示例a无法处理,因为您不知道是采用null还是aa

无论如何,如果您的示例在一行上,您可以使用regex begining和end:

sed 's/^"//;s/"$//'
测试:


不可能处理像aa这样的未替换字符串。如果你让它变得贪婪,你将如何处理ab cd
$ cat file
""aa"
"aa"
""
"a\nb"
"\u0082"
"ᅚ竁퇈"

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

a\nb
\u0082
ᅚ竁퇈