3

行ごとに、このような二重引用符のペアとして表示されるデータがあります。

"Key" "Value"

これらのペアの内部には任意の文字が含まれる可能性があり、恐ろしい "" ネストされたペアが含まれることもあります。

"Key "superkey"" ""Space" Value"

以前私が見つけた:"([^"]*)"\s*"([^"]*)" そして、これは Key と Value を 2 つのグループに一致させます:

$1 = Key
$2 = Value

ただし、ネストされたペアでは、以下のみが出力されます。

$1 = superkey

ペア間ですべての文字を一致させる方法はありますか? 出力例:

$1 = Key "superkey"
$2 = "Space" Value

QRegularExpression および c++11 リテラル文字列からの正規表現処理:

QRegularExpression(R"D("([^"]*)"\s*"([^"]*)")D");

私はそれがパールとPHPの正規表現に一致することを知っています.

4

1 に答える 1

2
"(.*?)"[\t\r ]+"(.*?)"(?=[ ]*$)

これを試してください。デモをご覧ください。

https://regex101.com/r/hR7tH4/2

于 2015-07-09T06:46:17.410 に答える