2011-12-08 63 views
0

行(“\ n”)结束的象征,我有正则表达式,需要支付的多线(删除帕斯卡文件注释)如何包含在正则表达式

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

这个作品几乎正常,但

\(\*.*?\*\) 

\{.*?\} 

应该为多线工作,但仅在单一的工作。如何使他们工作的权利(和不要让

//(.*$)

多线工作)

在此先感谢

+0

tryed“/ s'在正则表达式的末尾,但它工作 – Pavel

回答

1

您正在寻找Pattern.DOTALL标志。它传递给Pattern.compile像这样:

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

您还可以使用(?s)设置在正则表达式,如:"(?s)regex"

1

这所有的一切,包括换行符匹配:

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