正则表达式里的.不能匹配换行符,怎样解决?

bjzhanghao 2003-08-21 11:08:57
比如我有这样的表达式:
begin(.*)end
对于
beginsomething1something2end
可以匹配,但对于
begin
something1
something2
end
这段文本就不能匹配,我试着写成begin([.\n\r])end,但连第一段文本都不能匹配了,应该怎样写呢??
...全文
910 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonegump 2003-08-21
  • 打赏
  • 举报
回复
先用下面的类似方法取特定字符,去除所有空格,换行附之类的。再做处理
//只取需要的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();
}
xxisxx 2003-08-21
  • 打赏
  • 举报
回复
字符
x 字符 x
\\ 反斜线字符
\0n 八进制值的字符0n (0 <= n <= 7)
\0nn 八进制值的字符 0nn (0 <= n <= 7)
\0mnn 八进制值的字符0mnn 0mnn (0 <= m <= 3, 0 <= n <= 7)
\xhh 十六进制值的字符0xhh
\uhhhh 十六进制值的字符0xhhhh
\t 制表符('\u0009')
\n 换行符 ('\u000A')
\r 回车符 ('\u000D')
\f 换页符 ('\u000C')
\a 响铃符 ('\u0007')
\e 转义符 ('\u001B')
\cx T对应于x的控制字符 x

看看能不能用
bjzhanghao 2003-08-21
  • 打赏
  • 举报
回复
stonegump(龙飞虎),请问我用的方法[.\n\r]为什么不行呢?
StevenWSF 2003-08-21
  • 打赏
  • 举报
回复
你是要写存储过程吧,好象不可以

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧