簡體   English   中英

.NET正則表達式如何

[英].NET Regular expression how to

正則表達式的新功能。 我想驗證這種格式:

  • 允許使用任何字符,“{”和“}”除外。
  • '{'char必須后跟一個特定的字符串

在這些字符串后,任何角色都可以去

  • 每個'{'必須有一個結束'}'
  • 允許嵌套'{'s

例:

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

FILE:ENV:是'{'char之后所需的特定字符串的示例。 我寫了這個正則表達式:

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

但它與我想要的格式不符。 我想念的是什么?
非常感謝。
編輯:鏈接,做同樣的,我希望成功:-) MSDN其他網站

你忘記了平衡組中的問號。

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

應匹配a {FILE: {ENV: foo } bar } baza {FILE: {ENV: foo } bar } baz字符串

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM