[英]regex for optional characters
我使用以下正則表達式:
^([W|w][P|p]|[0-9]){8}$
上面的正則表達式也接受wp1234567
( wp
+7位)。 預期: WP
+ 6digit或wp
+ 6digit或僅8位數
例如:
WP123456
wp126456
64535353
注意[W|w]
匹配W
, w
和|
,自|
在一個字符類中失去了它對交替運算符的特殊含義。 此外,通過在[W|w][P|p]|[0-9]
周圍設置分組(...)
,您可以匹配WP
或數字的整個序列的8次出現。
您應該在有限量詞中設置正確的值並刪除分組並使用交替以允許wp
+6位數或僅8位數:
^(?:[Ww][Pp][0-9]{6}|[0-9]{8})$
見演示
正則表達式匹配:
^
- 字符串的開頭(如果用String#matches()
檢查整個字符串,則不需要) (?:[Ww][Pp][0-9]{6}|[0-9]{8})
- 2個替代方案:
[Ww][Pp][0-9]{6}
- W
或w
后跟P
或p
后跟6位數 |
- 要么... [0-9]{8}
- 正好是8位數 $
- 結束字符串 其他場景(以防萬一):
如果您需要匹配由7或8位數字組成的字符串,則需要將{8}
有限量詞替換為{7,8}
:
^(?:[Ww][Pp][0-9]{6}|[0-9]{7,8})$
如果您不想匹配Wp123456
或wP123456
,請在開頭再使用一次:
^(?:(?:WP|wp)[0-9]{6}|[0-9]{8})$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.