對於記錄替換正則表達式:其輸入掩碼(200種)
X意味着什麼
Ÿ意味着一年
中號意味着一個月
ñ表示數字
一個意味着字母
例如:
從數據庫中我輸入掩碼是這樣的:
XXXYMXXXXXA
和我輸入的是:
39JY412345O
我想檢查這個輸入有效或無效,但我不能用掩碼檢查它,我想用regul替換掩碼AR表達這樣它的輸入掩碼:
/^.{3}Y[0-9]{1}.{5}[a-zA-Z]{1}$/
我沒有正則表達式,我輸入掩碼only.I有輸入驗證和它使用正則表達式來檢查有效或無效的輸入。我應該用我的輸入掩碼(200種輸入掩碼)替換正則表達式,並使用其正則表達式進行驗證
我需要編寫一個方法,將輸入掩碼(例如「XXXYMXXXXXA」)轉換爲正則表達式以.lang.regex.Pattern格式(例如「。{3} Y [0-9] {1}。{5} [a-zA-Z] {1}」)
這是我的方法代碼:(但我希望這個解決方案的最佳實踐)
private String replaceAll(String pattern, String value, String replaceValue) {
String str = value;
str = str.replaceAll(pattern, replaceValue.concat("{").concat("1").concat("}"));
return str;
}
和方法調用:
String anything = "[Xx]";
String alphabet = "[Aa]";
String number = "[Nn]";
String word = getName();
word = replaceAll(anything, word, ".");
word = replaceAll(alphabet, word, "[A-Za-z]");
word = replaceAll(number, word, "[0-9]");
所以要使用'regex',而不是'mask'..right!在java中,你也不需要把'/'放在正則表達式中 – Anirudha 2013-03-17 18:00:58
因此,如果我理解正確,你需要編寫一個方法,將輸入掩碼(例如'「XXXYMXXXXXA」')轉換爲正則表達式'java.lang.regex.Pattern'格式(例如''。{3} Y [0-9] {1}。{5} [a-zA-Z] {1}「')。那是對的嗎? – ruakh 2013-03-17 18:02:34
我沒有任何正則表達式 我的問題是如何用其輸入掩碼替換正則表達式? – 2013-03-17 18:03:24