[英]Regular expression for specific combination of alphabets and numbers
我正在嘗試為以下類型的字符串創建正則表達式:
前綴(XI / YV / XD / YQ / XZ)的組合,僅數字,無“ Z”或“ Z”后綴。
例如, XD35Z
應該通過但XD01HW
不應該通過。
到目前為止,我嘗試了以下操作:
@"XD\\d+Z?"
XD35Z
通過,但不幸的是,它也適用於XD01HW
@"XD\\d+$Z"
XD01HW
失敗,這是我想要的,但XD35Z
也失敗
我也嘗試過@"XD\\d{1,}Z"?
但是沒有用
我需要一個正則表達式,可以為兩種類型的字符串提供適當的結果。
試試這個正則表達式:
^(XI|YV|XD|YQ|XZ){1}\d+Z{0,1}$
我使用大括號來明確限制每個字符/組的允許數量。 並且^
和$
錨確保正則表達式僅匹配整行(字符串)。
此正則表達式檢查分為邏輯部分
^(XI|YV|XD|YQ|XZ){1}
以正好允許的前綴之一開頭 \\d+
后跟一位或多位數字 Z{0,1}$
以0至1 Z
結尾 您正在濫用代表正則表達式中字符串結尾的$
它應該是: @"^XD\\d+Z?$"
(注意,它出現在Regex的末尾,在Z?
)
遵循所需行為的正則表達式為:
^(XI|YV|XD|YQ|XZ)\d+Z?$
說明:
前綴的組合(XI / YV / XD / YQ / XZ)
^(XI|YV|XD|YQ|XZ)
僅數字
\d+
“ Z”或“ Z”后綴
Z?$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.