我想檢查我的字符串是否只包含允許的字符。一切工作正常,例如7B
,77B
或7BBBB
,但是當我輸入像這樣的7B7
或7BB2
它不匹配。模式(字符串)只允許字符一次
一切工作正常,但當整數是最後一個字符它不工作。
你能告訴我那段代碼有什麼問題嗎?
pattern = Pattern.compile("[0-9]*[a-f]*[A-F]*");
matcher = pattern.matcher(stNumber);
if (matcher.matches()) {...}
我想檢查我的字符串是否只包含允許的字符。一切工作正常,例如7B
,77B
或7BBBB
,但是當我輸入像這樣的7B7
或7BB2
它不匹配。模式(字符串)只允許字符一次
一切工作正常,但當整數是最後一個字符它不工作。
你能告訴我那段代碼有什麼問題嗎?
pattern = Pattern.compile("[0-9]*[a-f]*[A-F]*");
matcher = pattern.matcher(stNumber);
if (matcher.matches()) {...}
如果你想在你需要某事喜歡各種以混合數字和字符:
Pattern pattern = Pattern.compile("[\\da-fA-F]*")
謝謝,它的工作完美;) – 2015-01-15 18:24:46
如果答案奏效,請選擇它是正確的。這樣,人們就可以找到相同的問題,你會獎勵那些花時間和神經元來幫助你的人。 – 2015-01-15 18:27:52
我知道,但在激活此選項後,我需要等待幾分鐘。 – 2015-01-15 18:29:43
爲什麼不試試這樣說?
// Compile this pattern.
Pattern pattern = Pattern.compile("[0-9]*[a-f]*[A-F]*[0-9]*");
// See if this String matches.
Matcher m = pattern.matcher("num123");
if (m.matches()) {
System.out.println(true);
}
你們是不是要驗證字符串只有數字和字母,沒有別的?
如果是的話請嘗試使用以下:
pattern = Pattern.compile("^[a-z-A-Z\\d]*$");
matcher = pattern.matcher(stNumber);
if (matcher.matches()) {...}
什麼確切的規則是你想匹配?這聽起來像你不需要正則表達式,如果你正在進行驗證。 – Kon 2015-01-15 18:16:41