Java通过编译带有标志的Pattern将regex与自定义行为一起使用

示例

阿Pattern可以用标志进行编译,如果正则表达式被用作文字String,使用内联改性剂:

Pattern pattern = Pattern.compile("foo.",Pattern.CASE_INSENSITIVE| Pattern.DOTALL);
pattern.matcher("FOO\n").matches(); // 是真的。

/* Had the regex not been compiled case insensitively and singlelined,
 * it would fail because FOO does not match /foo/ and \n (newline)
 * does not match /./.
 */

Pattern anotherPattern = Pattern.compile("(?si)foo");
anotherPattern.matcher("FOO\n").matches(); // 是真的。

"foOt".replaceAll("(?si)foo", "ca"); // Returns "cat".