from api:
multiline
public static final int multilineenables multiline mode. in multiline mode expressions
^,$match after or before, respectively, line terminator or end of input sequence. default these expressions match @ beginning , end of entire input sequence.multiline mode can enabled via embedded flag expression
(?m).
can make real life code example of difference of having pattern created pattern.multiline , standard settings?
the boundary matcher ^ default should match beginning of line , $ end of line this tutorial explaines.
what change using pattern.multiline?
contrived example: want match specific import line in java source file, say:
import foo.bar.baz; in order match line anywhere in input, multiline, easier solution use pattern.multiline along regex:
^\s*import\s+foo\.bar\.baz\s*;\s*$ here ^ match right after newline , $ right before. desirable in such situation.
and:
the boundary matcher ^ default should match beginning of line , $ end of line tutorial explaines.
this untrue. default, ^ matches beginning of input, , $ matches end of input.
illustration:
public static void main(final string... args) { final pattern p1 = pattern.compile("^dog$"); final pattern p2 = pattern.compile("^dog$", pattern.multiline); final string input = "cat\ndog\ntasmanian devil"; system.out.println(p1.matcher(input).find()); system.out.println(p2.matcher(input).find()); } this outputs:
false true
Comments
Post a Comment