比如我有这样的表达式:
begin(.*)end
对于
beginsomething1something2end
可以匹配,但对于
begin
something1
something2
end
这段文本就不能匹配,我试着写成begin([.\n\r])end,但连第一段文本都不能匹配了,应该怎样写呢??
...全文
9104打赏收藏
正则表达式里的.不能匹配换行符,怎样解决?
比如我有这样的表达式: begin(.*)end 对于 beginsomething1something2end 可以匹配,但对于 begin something1 something2 end 这段文本就不能匹配,我试着写成begin([.\n\r])end,但连第一段文本都不能匹配了,应该怎样写呢??
先用下面的类似方法取特定字符,去除所有空格,换行附之类的。再做处理
//只取需要的character
public static String removeSpaceNPunctuation(String str) {
Matcher m = Pattern.compile("[\\d\\w\\(\\)\\.\\=]+").matcher(str);
StringBuffer f = new StringBuffer();
while (m.find()) {
f.append(m.group());
}
return f.toString();
}