0
我想寫一個正則表達式將只匹配第1季度,qtr2號,qtr3,qtr4有以下的正則表達式[q|qtr|qtrs|quarter]+[1-4]
的幫助,但問題是,如果我問這樣的問題:「Ficoscore for Q21 2005」在Q和21之間增加一個空格,即「2005年Q 21的Ficoscore」,這是無效的。正則表達式來限制數字
String regEx = "([q|qtr|qtrs|quarter]+[1-4])";
Pattern pattern = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(userQuerySentence);
System.out.println(matcher.matches());
while (matcher.find()) {
String quarterString = matcher.group();
userQuerySentence = userQuerySentence.replaceAll(quarterString,
(quarterString.substring(0, quarterString.length() - 1) + " " + quarterString.substring(quarterString
.length() - 1)));
}
M42我的字符串會是這樣「Ficoscore 2005年第一季度」從此我要改變字符串爲「Ficoscore爲2005年第1季度「,但與上述正則表達式沒有任何匹配。 – 2014-10-01 08:22:23
首先使用'(?i)'不區分大小寫的修飾符。 – 2014-10-01 08:23:29
@ M42我認爲你不介意編輯。 lang也是java,所以你需要再次逃脫。 – 2014-10-01 08:24:34