全字匹配的正则表达式问题!

menlion 2002-04-26 11:40:10
我在用jakarta-regexp-1.2包做一个Java程序,这个Java程序需要做一个替换字符串的工作,例如:

将abc替换为xyz,要求全字匹配。

结果应该为:

abc -> xyz
abc_a -> abc_a ※
abcd -> abcd

this string is abc.
-> this string is xyz.

this string: "abc_a" shouln't be replaced.
-> this string: "abc_a" shouln't be replaced. ※

但是我用的正则表达式为:“\b(abc)\b”。但是,在标记了“※”的两行,替换结果却错了!:(

替换结果分别为:

abc_a -> xyz_a

this string: "abc_a" shouln't be replaced.
-> this string: "xyz_a" shouln't be replaced.

我的源码如下:

RE r = new RE("\\b(" + "buffer" + ")\\b");
String tempStr0 = "StringBuffer resultStr = dsaf_ buffer _ooo";
String tempStr1 = r.subst(tempStr0, "KISS");
System.out.println("tempStr0: " + tempStr0);
System.out.println("tempStr1: " + tempStr1);

哪位大侠帮帮我?
...全文
276 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kert_ake 2002-04-26
  • 打赏
  • 举报
回复
there is an Tutorials under www.zvon.org about regexp
you can check it there!

wangwenyou 2002-04-26
  • 打赏
  • 举报
回复
RE r = new RE("\b(" + "buffer" + ")\b");
String tempStr0 = "StringBuffer resultStr = dsaf_ buffer _ooo";
String tempStr1 = r.subst(tempStr0, "KISS");
System.out.println("tempStr0: " + tempStr0);
System.out.println("tempStr1: " + tempStr1);

就没问题了

62,614

社区成员

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

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