亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

創建正則表達式以匹配帶有字母后跟固定位數的字符串

創建正則表達式以匹配帶有字母后跟固定位數的字符串

C#
手掌心 2021-11-07 19:48:14
我們有一個用例,我們需要Uid使用以下約束驗證一些用例:在形式lenght 5的UID annnnn其中一個比其它任何字母A,B,D和E。而n是從0到 的任意數字9。所以我創建了新方法,它將驗證相同并按預期工作。/// <summary>/// Validate Uid of lenght 5 in form annnnn where ‘a’ is any letter other than A, B, D and E./// </summary>/// <param name="value"></param>/// <returns></returns>private static bool IsValidUid( string value ){    bool returnValue = false;    if (string.IsNullOrEmpty(value) == false && value.Length == 5)    {        char firstChar = value[0];        bool firstCharFailed = false;        switch (firstChar)        {            case 'A':            case 'B':            case 'D':            case 'E':                firstCharFailed = true;                break;        }        if (firstCharFailed == false)        {            string remainingStr = value.Substring(1, 4);            int numb;            if (int.TryParse(remainingStr, out numb) == true)            {                returnValue = true;            }        }    }    return returnValue;}但它可以通過正則表達式有效地完成。因為我不擅長它,所以我需要幫助為我創造一個!提前致謝??!
查看完整描述

1 回答

?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

其中“a”是除 A、B、D 和 E 之外的任何字母。

因此,在這種情況下,您需要指定允許的字母集

[a-zF-ZC] => 表示所有字母都在 az 范圍內,FZ 應該匹配,C 也應該匹配

'n' 是 0 到 9 之間的任何數字。

\d 匹配一個數字,或者您可以使用 [0-9]

長度為 5 的形式 annnnn

\d{4} 指定應該匹配的前一個字符的數量

最后一件事必須做。您需要指定,它a應該在字符串的開頭,并且字符串在第 5 個字符之后結束:

^表示字符串的開始表示字符串
$的結束。

所以結合起來看起來像這樣:

string pattern = @"^[a-zF-ZC]\d{4}$

或使用數字范圍:

string pattern = @"^[a-zF-ZC][0-9]{4}$

這是正則表達式模式概述以及示例和解釋

這是一個站點,您可以在其中測試和試用您的正則表達式模式。擺弄它以了解它。它有助于

編輯:

[...]表示一組將被匹配的字符。范圍使用-像 in a-z、A-F或 之類的符號來表示5-9。任何其他字符都可以簡單地放入集合中:

[abcdefgxyz] 將只匹配那些指定的字母!

集合和范圍可以組合

[CF-SX-Z]將匹配C或之間的所有大寫字母FS之間XZ。我希望現在變得更清楚


查看完整回答
反對 回復 2021-11-07
  • 1 回答
  • 0 關注
  • 321 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號