如果有\ n字符,Java正则表达式无法工作

时间:2017-06-02 04:23:09

标签: java regex

我有项目来检测编辑器是否有编写html实体,但是当它包含\ n它不起作用?为什么呢?

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTest {  
   public static void main(String[] args) {
      String text = "asdasdas &lt;h1&gt;Test&lt;/h1&gt;</div>";
      String regex = ".*&lt;[^&lt]+&gt;.*";
      Pattern pattern = Pattern.compile(regex);
      Matcher m = pattern.matcher(text);
      System.out.println(m.matches());
   }
}

1 个答案:

答案 0 :(得分:0)

如果您想考虑\n,可以这样做:

Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);

这会考虑转义序列。

您还可以使用Pattern.MULTILINE,其中正则表达式与每行匹配。因此,如果您在正则表达式中添加^$,则会为每个新行正确匹配正则表达式的开头和结尾。

This is a link to the Oracle docs which may help you better understand, rather than just application of the code.你知道的更多......:)