我有每行将显示为这样的双引号对的数据。
"Key" "Value"
在这些对中可以有任何字符,有时还有可怕的 "" 嵌套对:
"Key "superkey"" ""Space" Value"
以前我发现:"([^"]*)"\s*"([^"]*)"
这将 Key 和 Value 匹配到两组:
$1 = Key
$2 = Value
但是,对于嵌套对,它只会输出:
$1 = superkey
有没有办法匹配对之间的所有字符?想要的示例输出:
$1 = Key "superkey"
$2 = "Space" Value
来自 QRegularExpression 和 c++11 文字字符串的正则表达式处理:
QRegularExpression(R"D("([^"]*)"\s*"([^"]*)")D");
我知道它匹配 Pearl 和 PHP 正则表达式。