2011-11-03 49 views
1

我的代碼中存在一個現有的正則表達式,它是[^\s"']+|"[^"]*"|'[^']*'。我的問題是,當我這樣做:正則表達式問題在解析時刪除 n

Matcher matcher = regex.matcher("INDIA \n PAKISTAN"); 
    StringBuilder returnQuery = new StringBuilder(); 
    while (matcher.find()) { 
     String str = matcher.group(); 
     if (AND.equalsIgnoreCase(str) || OR.equalsIgnoreCase(str) || NOT.equalsIgnoreCase(str)) { 
      returnQuery.append(str.toUpperCase()).append(" "); 
     } else { 
      returnQuery.append(str).append(" "); 
     } 
    } 

它去掉了\ n個字符,以及我想保留,有人可以suggesta解決方案。

欣賞的幫助提前

Vaibhav的

回答

5

的\ S元字符用於查找空白字符。 空白字符可以是:

  • 空格字符
  • 製表符
  • 回車字符
  • 新行字符
  • 垂直製表符
  • 甲形式飼料字符

所以,如果你使用\ s你運氣不好。只需使用不帶\ n的字符課程

[ \r\t] 

這樣你的\ n將被保留。