[英]Regular expression to accept 5 characters with optional
嗨,我必須編寫一個應與A12BC
之類的格式匹配的正則表達式。 在此,前2個字符(即A
& 1
為必填項,接下來的3個字符2
, B
& C
是可選項。 目前,如果我將字符串值設置為A12BC
則我的regEx可以使用。
當我將輸入提供為A1B
它不應該匹配,但是我的正則表達式匹配並將結果作為懷疑。 誰能幫助我並修改我的RegExp,使其表現如下:
我的正則表達式如下:
^[a-zA-Z][0-9][0-9]?[a-zA-Z]?[a-zA-Z]?$
要確保第三個字符(如果存在)是數字,請在可選組中將第三個字符設為必需,如下所示:
^[a-zA-Z][0-9]([0-9][a-zA-Z]?[a-zA-Z]?)?$
該表達式表示,如果存在第三個字符,則需要匹配一個數字。 兩個尾隨字母也是可選的。
注意:您可以通過使用預定義的字符類 \\w
和字母\\d
來簡化表達式。 請記住,您需要將反斜杠加倍以用於“普通”字符串文字(與逐字字符串不加倍的逐字字符串文字相反)。
您可以使用:
^[a-zA-Z][0-9](?:[0-9][a-zA-Z]{0,2})?$
在2BC
模式中,必須先使數字為強制性,然后再允許零,一或兩個字母。
(?:[0-9][a-zA-Z]{0,2})?
匹配一個空字符串或一個數字,或者一個數字后跟一個字母,或者一個數字后跟兩個字母,但不能匹配一個字母。
(?:...)
是一個非捕獲組,請參見此處的演示 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.