小编典典

Java正则表达式中的Pattern.UNIX_LINES

java

您好,来自Java文档:

UNIX_LINES

public static final int UNIX_LINES

启用Unix行模式。

在这种模式下,只有'\n'行结束在行为的认可.^$

Unix行模式也可以通过嵌入式标志表达式启用 (?d)

有人用其他词语来定义它的作用吗?我了解,“\ n”转义序列是只承认后.^$。显然我被误解了。


阅读 523

收藏
2020-11-26

共1个答案

小编典典

至于它们如何专门用于正则表达式行为;.^$取决于换行符的定义以起作用。

  • . 匹配除换行符以外的任何内容
  • ^ 可以匹配一行的开头
  • $ 可以匹配一行的结尾。

这些中的每一个都取决于对行终止位置的正确定义。该UNIX_LINES设置指示它根据标准Unix定义严格定义行终止符。默认情况下,它会更广泛地定义它,如Pattern文档中所示

至于匹配“ abc \ n”,我假设您正在使用Pattern.matches或类似的东西,必须匹配整个输入?
^并且$为零宽度。它们可以在换行符的任何一侧匹配,但不会占用换行符。您可以\n通过简单地将其放入样式中来使用,例如abc\n,或者您也可以$按指示使用字符,例如abc\n$,或者感到不适(?m)abc$$$$\n$$

DOTALLMULTILINE模式也可能对您有用,这取决于您要完成的工作。

2020-11-26