当前位置:  技术问答>java相关

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

    来源: 互联网  发布时间:2015-05-17

    本文导语:  我在用jakarta-regexp-1.2包做一个Java程序,这个Java程序需要做一个替换字符串的工作,例如: 将abc替换为xyz,要求全字匹配。 结果应该为: abc   -> xyz abc_a -> abc_a   ※ abcd  -> abcd this string is abc. -> this string...

我在用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);

哪位大侠帮帮我?

|
there is an Tutorials under www.zvon.org about regexp
you can check it there!


|
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);

就没问题了

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教如何用grep全字匹配


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3