Java Pattern类中的flags介绍(更新中)

Pattern compile(String regex, int flags)

\[\]

其中flags的取值有以下几种:

  • CASE_INSENSITIVE
    忽略大小写(?i);也可以通过在正则表达式中加(?i)实现。
  • MULTILINE
    开启多行模式(?m);此时每行都能单独匹配^或$。不开多行模式的话整个字符串会被视作一行(加\n也没用)。
  • DOTALL
    开启dotAll模式(?s);此时字符.可以匹配一切字符,包括换行符。
  • UNICODE_CASE
    开启Unicode模式(?u);在Unicode字符集中进行忽略大小写的匹配。而CASE_INSENSITIVE仅对Unicode和ASCII的公有部分忽略大小写(没看懂,直接翻译了这句话)。
  • CANON_EQ
  • UNIX_LINES
    开启Unix模式(?d);
  • LITERAL

注意:以CASE_INSENSITIVE为例,使用前需要import static java.util.regex.Pattern.CASE_INSENSITIVE; 否则应当使用Pattern.CASE_INSENSITIVE。

原文地址:https://www.cnblogs.com/kamigen/p/14614301.html