0

検証したい式のリストがあり、特定の部分を抽出します。
これらの式は、次のものを自由に組み合わせることができます。

  • 一重引用符で囲まれた文字列リテラル (エスケープされる可能性がありますが、必ずしもそうである必要はありません)
  • 文字列リテラルでなく、セミコロンで示される行末文字でもない任意の数の文字

有効な式は、コロンの後に始まり、セミコロンで終わります。
有効な式の例は次のとおりです。

: This is an *expression* 'with' and 'without \'escaped\' string literals', 
which ends with a semicolon!;

そして、その表現から、次のことを抽出したいと思います。

  • This is an *expression*
  • 'with'
  • and
  • 'without \'escaped\' string literals'
  • , which ends with a semicolon!

これは可能ですか?

4

1 に答える 1

1

RectangleEquals に話しかけると、答えは std::regex re_("'(?:\\.|[^'])*'|[^']+"); です。

于 2013-03-12T20:57:07.253 に答える