簡體   English   中英

正則匹配.Net

[英]Regex Match .Net

我使用此代碼進行匹配

 var regex = new Regex(@"\[0-9]{3,4}/?\s?\\?\-?_?[A-Z]{2,2}-?\s?/?_?\\?[A-Z]{2,2}");

var match = regex.Match(str);
if (match.Success)
{
   Console.WriteLine(match.Value);
   Console.ReadLine();
}

這個字符串: 1111 CD XZ 和這個 1111/AB-XZ 但是不工作,我在編程的初始步驟我昨天我開始使用正則表達式。 我做錯了什么?

我的目標是匹配這張圖片上的黃色標記

您的正則表達式已損壞,因為在[之前的\\使正則表達式引擎在您想要創建字符類時匹配文字[符號。 此外,您可以只為字符串中的分隔符定義一個非單詞可選模式,而不是定義一系列可選字符。

您可以使用

@"\b[0-9]{3,4}(?:\W?[A-Z]{2}){2}\b"

查看正則表達式演示

細節

  • \\b - 單詞邊界(以確保您以后真的匹配 3 到 4 位數字序列)
  • [0-9]{3,4} - 3 到 4 位數字
  • (?:\\W?[AZ]{2}){2} - 2 個序列
    • \\W? - 一個可選的非單詞字符(空格、標點或符號)
    • [AZ]{2} - 2 個大寫 ASCII 字母
  • \\b - 尾隨詞邊界。

使用這個正則表達式(?i)\\d{3,4}[\\s\\/]\\/?[az]{2}[-\\s][az]{2}

暫無
暫無

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

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