2
如果我使用RegEx
作爲TextBox
的掩碼,並且掩碼應該允許格式爲000-XXXXXX
,這意味着例如它允許3個字母,一個破折號,然後是6個數字,我如何允許用戶只需要鍵入用於搜索的掩碼的前3個字符,而不是輸入的內容無效,因爲它不滿足完整的RegEx
?用正則表達式進行部分搜索?
如果我使用RegEx
作爲TextBox
的掩碼,並且掩碼應該允許格式爲000-XXXXXX
,這意味着例如它允許3個字母,一個破折號,然後是6個數字,我如何允許用戶只需要鍵入用於搜索的掩碼的前3個字符,而不是輸入的內容無效,因爲它不滿足完整的RegEx
?用正則表達式進行部分搜索?
可以使正則表達式可選配件:
^\d{3}(?:-\d{0,6})?$
說明:
^ # Start of string
\d{3} # Match 3 digits
(?: # Try to match...
- # a dash
\d{0,6} # followed by up to 6 digits
)? # but make that part of the match optional
$ # End of string
是什麼'??'最後''是什麼意思? – Xaisoft
'(?:...)'是一個非捕獲組(需要下面的'?'(表示「零個或一個」)適用於整個子正則表達式)。 –
非常感謝您的好解釋。如果TextBox已經有一個破折號,因爲這是一個在輸入文本框中指定的掩碼,它是行不通的。 – Xaisoft