簡體   English   中英

如何匹配兩個括號之間的這種模式(字符 az,數字)?

[英]How can I match this pattern (characters a-z, numbers ) between two brackets?

我有這段代碼,我想匹配這種模式:

  • 兩個“”之間的所有字符az,AZ。
  • 變量應該在方括號之間。

我怎樣才能做到這一點?

應接受此輸入:

["a1","a2"]

這是我的代碼和我嘗試過的:

 string text = "["a1","a2"]";
 Regex rg2 = new Regex(@"[^\""a-z|A-Z|0-9\""$]+(, [^\""a-z |A-Z |0-9\""$]+)+");
 if (rg2.IsMatch(text)
      Console.WriteLine("True");

您可以使用

Regex rg2 = new Regex(@"^\[""[a-zA-Z0-9]+""(?:,\s*""[a-zA-Z0-9]+"")*]$");
Regex rg2 = new Regex(@"\A\[""[a-zA-Z0-9]+""(?:,\s*""[a-zA-Z0-9]+"")*]\z");

請參閱C# 演示

string text = "[\"a1\",\"a2\"]";
Regex rg2 = new Regex(@"\A\[""[a-zA-Z0-9]+""(?:,\s*""[a-zA-Z0-9]+"")*]\z");
Console.WriteLine(rg2.IsMatch(text)); // => True

詳情

  • \A - 字符串的開始
  • \[" - ["固定字符串
  • [a-zA-Z0-9]+ - 一個或多個 ASCII 字母/數字
  • " - 雙引號
  • (?:,\s*"[a-zA-Z0-9]+")* - 零次或多次重復
    • , - 一個逗號
    • \s* - 零個或多個空格
    • "[a-zA-Z0-9]+" - " ,一個或多個 ASCII 字母數字字符, "
  • ] - 一個]字符
  • \z - 字符串的末尾。

暫無
暫無

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

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