簡體   English   中英

用於字母和數字的特定組合的正則表達式

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

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