我需要檢查字符串是否包含字母和數字的特定排列。檢查Java中字符串中特定符號的特殊排列
有效安排是例如:
X
X-Y
A-H-K-L-J-Y
A-H-J-Y
123
12?
12*
12-17
無效是例如:
-X-Y
-XY
*12
?12
我已用Java編寫的該方法來解決這個問題的(但我不有正則表達式的一些經驗):
public boolean checkPatternMatching(String sourceToScan, String searchPattern) {
boolean patternFounded;
if (sourceToScan == null) {
patternFounded = false;
} else {
Pattern pattern = Pattern.compile(Pattern.quote(searchPattern),
Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(sourceToScan);
patternFounded = matcher.find();
}
return patternFounded;
}
我如何使用正則表達式實現此要求?
順便說一句:這是一個很好的解決方案來檢查一個字符串,它是否包含數字內容通過使用方法isNumeric從Java類的StringUtils?
//編輯
的聯繫,這是由管理員編輯包含的字符不是具體安排,但只有一個字符使用正則表達式在一般的外觀!
謝謝!這種模式是否適用於表達式「X-Y」:[a-z](\ - [a-z]) – Marwief
@Marwief是的,對於這種簡單的情況,您甚至可以刪除括號。它們用於重複使用' - [az]' –
您對我的另一個問題有什麼看法?順便說一下:這是檢查字符串的一個很好的解決方案,它是否包含使用方法isNumeric的數字內容java類的StringUtils? – Marwief