您好,来自Java文档:
UNIX_LINES public static final int UNIX_LINES 启用Unix行模式。 在这种模式下,只有'\n'行结束在行为的认可.,^和$。 Unix行模式也可以通过嵌入式标志表达式启用 (?d)。
UNIX_LINES
public static final int UNIX_LINES
启用Unix行模式。
在这种模式下,只有'\n'行结束在行为的认可.,^和$。
'\n'
.
^
$
Unix行模式也可以通过嵌入式标志表达式启用 (?d)。
(?d)
有人用其他词语来定义它的作用吗?我了解,“\ n”转义序列是只承认后.,^和$。显然我被误解了。
至于它们如何专门用于正则表达式行为;.,^和$取决于换行符的定义以起作用。
这些中的每一个都取决于对行终止位置的正确定义。该UNIX_LINES设置指示它根据标准Unix定义严格定义行终止符。默认情况下,它会更广泛地定义它,如Pattern文档中所示
至于匹配“ abc \ n”,我假设您正在使用Pattern.matches或类似的东西,必须匹配整个输入? ^并且$为零宽度。它们可以在换行符的任何一侧匹配,但不会占用换行符。您可以\n通过简单地将其放入样式中来使用,例如abc\n,或者您也可以$按指示使用字符,例如abc\n$,或者感到不适(?m)abc$$$$\n$$。
Pattern.matches
\n
abc\n
abc\n$
(?m)abc$$$$\n$$
DOTALL和MULTILINE模式也可能对您有用,这取决于您要完成的工作。