1

正規表現の新機能。この形式で検証したい:

  • 「{」と「}」を除く任意の文字を使用できます。
  • 「{」文字の後には、特定の文字列のいずれかが続く必要があります

これらの文字列の後には、任意の文字を使用できます

  • 各 '{' には終了 '}' が必要です
  • '{' のネストは許可されています

例:

abc{FILE:any text} def {FILE:mno{ENV:xyz}}

FILE:「{」文字の後にENV:必要な特定の文字列の例です。私はこの正規表現を書きました:

^
(
  [^\{\}]+
  |
  (?<Depth>\{)(FILE:|ENV:)
  |
  (<-Depth>\})
)*
(?(Depth)(?!))
$

しかし、それは私の希望する形式と一致しません。何が恋しい?
どうもありがとう。
編集:同じことをするリンク、うまくいけばいいのですが:-) MSDN他のサイト

4

1 に答える 1

3

バランシング グループの疑問符を忘れました。

string pattern = @"(?x)
^
(?:
    [^{}]+
    |
    (?<Depth>{) (?:FILE|ENV):
    |
    (?<-Depth>})
)*
(?(Depth)(?!))
$
";

次のような文字列に一致する必要がありますa {FILE: {ENV: foo } bar } baz

于 2012-06-13T19:09:18.810 に答える