正则表达式问题在解析时删除\n

vai*_*hav 1 java regex newline

我的代码中有一个现有的正则表达式[^\s"']+|"[^"]*"|'[^']*'.我的问题是当我做的事情时:

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(" ");
      }
  }
Run Code Online (Sandbox Code Playgroud)

它删除了我想保留的\n字符,有人可以建议解决方案.

提前感谢您的帮助

Vaibhav的

Fai*_*Dev 5

\ s元字符用于查找空白字符.空白字符可以是:

  • 空间角色
  • 制表符
  • 回车符
  • 一个新的线条字符
  • 垂直制表符
  • 换页符

所以,如果你使用的是你,那你就不走运了.只需使用没有\n例如的字符类

[ \r\t]
Run Code Online (Sandbox Code Playgroud)

这样你的\n将被保留.