一个正则表达式问题

xooxoo 2008-03-24 09:53:46
为什么是bigString.replaceAll("\\},\\{", "\n")
而不是bigString.replaceAll("\},\{", "\n")
我知道第一个参数是正则表达式但后一种怎么就编译错误呢?
难道是
String =》 正则表达式??
而不是

String == 正则表达式?
...全文
76 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
logi22 2008-03-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xooxoo 的回复:]
肯定是转义字符啦,我问的关键是
String与正则表达式的关系
在java内部是不是要将这个"\\},\\{"转换成\},\{ 再来执行这条语句呢?
我猜的对不?
[/Quote]
对的,套用上次某人的说法,\\}是表象,\}是本质
lengxiaotian24 2008-03-24
  • 打赏
  • 举报
回复
同意4楼
  • 打赏
  • 举报
回复
应该用 replace :)
yami251139 2008-03-24
  • 打赏
  • 举报
回复
你正則表達式這樣寫是要轉義的
如果你不想轉義可以這樣寫
String s=“xxxxxxxxxx”
然后replaceall(s)
  • 打赏
  • 举报
回复
java本身先处理一次转义字符
\\被转化成\,这才是正则中的\
  • 打赏
  • 举报
回复
对的,{ } 这些在正则表达式中有特殊的含义,使用时需要用正则表达式转义字符“\”
成为 \} \{,这样才能表示字符本身,但是 \ 在 Java 中也是属于转义字符,Java 中
用 \\ 表示 \。
xooxoo 2008-03-24
  • 打赏
  • 举报
回复
肯定是转义字符啦,我问的关键是
String与正则表达式的关系
在java内部是不是要将这个"\\},\\{"转换成\},\{ 再来执行这条语句呢?
我猜的对不?
chenzenan 2008-03-24
  • 打赏
  • 举报
回复
正解,转义字符.
  • 打赏
  • 举报
回复
转义字符

62,614

社区成员

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

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