如何在正则表达式中包含行尾(“\ n”)的符号

时间:2011-12-08 00:05:43

标签: java regex

我有正则表达式需要覆盖多行(从pascal文件中删除注释)

\(\*.*?\*\)|\{.*?\}|\/\/(.*$)

这几乎没问题,但

\(\*.*?\*\)

\{.*?\}

应该适用于多行,但仅适用于单行。如何使它们正常工作(并且不要制作

  

//(。* $)

为多行工作)

提前致谢

2 个答案:

答案 0 :(得分:1)

您正在寻找Pattern.DOTALL标志。将其传递给Pattern.compile,如此:

Pattern p = Pattern.compile("regex", Pattern.DOTALL); 

您也可以使用(?s)在正则表达式中进行设置,例如:"(?s)regex"

答案 1 :(得分:1)

这将完全符合所有内容,包括换行符:

Pattern regex = Pattern.compile("[\\s\\S]*");