[英]Validate a string of certain characters and numeric of exact length using Regex
目標:精確匹配 10 個混合大寫字符(I、O 和空格除外)和 2 到 9 的數字:
確切地說,這是值必須來自的有效集合:
{'2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', ' E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S' , 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}
我試過這個:
^[A-Z2-9][^IO01a-z ]{10}$
但是這 11 個長度會通過:9PAUUH98TYE 而其中 10 個不會通過 9PAUUH98TY
我也試過:
\b[A-Z2-9][^IO01a-z ]{10}\b
所以你可以做一些花哨的負面環視魔術,但實際上,只列出你期望的字母就可以了。
^[ABCDEFGHJKLMNPQRSTUVWXYZ2-9]{10}$
使用跨度,它可以縮短為
^[A-HJ-NP-Z2-9]{10}$
這是 """lazy""" 方法,但它在所有正則表達式風格中的工作方式一致。 例如,在 .Net、JavaScript 和其他中,負面的后視有時可能表現不同。
此外,在您的模式中使用^
和$
非常重要。 它們將有助於確保整個輸入字符串的字符數正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.