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