簡體   English   中英

C#中的正則表達式字符串匹配

[英]Regex string match in c#

所以,我想檢查一串字母和數字是否格式正確

它的外觀如下所示:

123abc#456def#

我已經嘗試過類似的方法:

Regex r = new Regex(@"^([0-9a-zA-Z]#)([0-9a-zA-Z]#)$");

沒幫我...

簡要

正如我在評論中提到的那樣,您需要這樣量化集合: [0-9a-zA-Z]{6}

^([0-9a-zA-Z]{6}#)([0-9a-zA-Z]{6}#)$

您也可以執行^([0-9a-zA-Z]{6}#){2}$因為.net保留多個捕獲(而不僅僅是最后一個捕獲)。 請參閱此處使用的此較短的正則表達式。 單擊表,在$1標題下,展開2 captures

為確保3個數字后跟3個字母,請使用以下任一模式:

^(\d{3}[a-z]{3}#)(\d{3}[a-z]{3}#)$
^(\d{3}[a-z]{3}#){2}$

並添加IgnoreCase選項

我會去以下正則表達式:

^([A-Za-z0-9]{6}#){2}$

但是您沒有指定字符串的格式,因此它實際上是一個猜測游戲。 那些由哈希分隔的組僅重復兩次嗎? 您是否要在每個組中匹配3個數字,然后匹配3個字母?

暫無
暫無

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

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