簡體   English   中英

正則表達式以匹配九個數字和最后一個大寫字母

[英]Regular expression to match nine numbers and a capital letter at the end

我正在嘗試編寫一個正則表達式來驗證九個數字,並在它們之后僅一個大寫字母,例如:

123456789A

我使用的正則表達式不適用於我:

/^[0-9]{9}.[A-Z]{1}$/

您能幫我找出一個可行的表達方式嗎?

這是因為您在兩件事之間有一個點。 另外,您是否需要匹配字符串的開頭和結尾? 如果不是,則可以將其刪除(^和$)。

提示是您使用http://www.regexr.com/,這樣您才能確切看到每個令牌的作用。

因此,無論如何,只需刪除點,它看起來像這樣:

/^[0-9]{9}[A-Z]{1}$/

但是,這不是最佳解決方案。 首先,您可以使用“數字標志”,它是\\ d並向其添加{9}。 然后,您也可以刪除{1},因為已經假定了。 到底:

/^\d{9}[A-Z]$/

嘗試這個

^[0-9]{9}[A-Z]$

. 是不必要的,不是串聯,而是代表“不包括換行符的任何字母”。

{1}同樣,為簡單起見,僅[AZ]就足夠了。

在這里,您也可以使用\\d代替[0-9]但我更喜歡[0-9]因為它更明確。

參見: DEMO

\d{9}[A-Z]

匹配9位數字和1個大寫字符

您已接近解決方案! 您只需要一點. 運算符:

/^\d{9}[A-Z]$/

上面的表達式將匹配任何包含九個數字和結尾大寫字母的字符串。 如果要使其不區分大小寫並匹配任何字母,則可以添加修飾符i (不區分大小寫)。 我還使用了\\d運算符,該運算符可以匹配任何數字,而不是[0-9] ,它更短,更容易閱讀。

這是上述RegExp的工作示例

暫無
暫無

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

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