[英]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.