CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

UBB 代码正则替换问题(500分)

楼主platinum(代号 铂)2005-01-27 15:03:32 在 Java / Web 开发 提问

我的本意是把   [b]*[/b]   替换成   <b>*</b>  
   
  String   str   =   "[b]1[/b]   2   [b]3[/b]";  
  str   =   str.replaceAll("\\[b\\](.*)\\[\\/b\\]",   "<b>$1</b>");  
  out.println(str);  
   
  期望结果是   <b>1</b>   2   <b>3</b>  
   
  可实际结果   <b>1[/b]   2   [b]3</b>  
   
  本来在   PHP   里这些都已搞定,可如今用   JSP   却不知道如何写,关键点禁止贪婪匹配,可我看了   java.util.regex.Pattern   的   flags   好像没有这个选项  
   
  ——————————————————————  
   
  第一个帮我解决问题者额外开帖送分   500,此帖送分,回帖就有分  
  这个问题几个月前问过,无奈没人回答 问题点数:100、回复次数:22Top

1 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-01-27 15:15:22 得分 20

String   str   =   "[b]1[/b]   2   [b]3[/b]";  
  str   =   str.replaceAll("\\[b\\][^\\[]*\\[\\/b\\]",   "<b>$1</b>");  
  Top

2 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-01-27 15:17:34 得分 0

String   str   =   "[b]1[/b]   2   [b]3[/b]";  
  str   =   str.replaceAll("\\[","<");  
  str   =   str.replaceAll("\\]",">");  
  这样是不是更简单呢?Top

3 楼platinum(代号 铂)回复于 2005-01-27 15:19:25 得分 0

jFresH_MaN……我要是想替换   [url=xxx]xxx[/url]   这样稍微复杂点的呢?Top

4 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-01-27 15:21:07 得分 0

用我第2个写的那个  
  UBB和HTML标记的区别就是[]和<>的区别啊Top

5 楼platinum(代号 铂)回复于 2005-01-27 15:26:39 得分 0

你还理解不了什么叫   UBB   代码,帮我顶帖我很感谢,分我会给你,这帖楼上还是不要参与的好Top

6 楼singedcat(以夢為馬)回复于 2005-01-27 15:29:31 得分 20

[是特别字符,需要用\转换.Top

7 楼singedcat(以夢為馬)回复于 2005-01-27 15:30:26 得分 0

String   str   =   "[b]1[/b]   2   [b]3[/b]";  
   
  str   =   str.replaceAll("\\[","<");  
   
  str   =   str.replaceAll("\\]",">");Top

8 楼sylmoon(专注Oracle)回复于 2005-01-27 15:33:04 得分 20

studyTop

9 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-01-27 15:34:11 得分 0

晕,我就不信了  
  String   str   =   "[b]1[/b]   2   [b]3[/b]";  
  str   =   str.replaceAll("\\[([^\\]*)\\](.*)\\[\\/([^\\]*)\\]",   "<$1>$2</$3>");  
  out.println(str);  
  Top

10 楼platinum(代号 铂)回复于 2005-01-27 15:37:48 得分 0

我靠,玩   java   的智商就是让人佩服,居然没一个明白意思的  
   
  假设  
   
  String   str   =   "[1.]   这个[b]重要[/b]的内容在[url=http://www.163.com]网易[/url]";  
   
  我只想转换   [b][/b]   成   <b></b>,   [1.]   不转换、[url=   我要转换成   <a   href="  
   
  你还替换所有的   [   和   ]   ?Top

11 楼platinum(代号 铂)回复于 2005-01-27 15:39:09 得分 0

总之我问的就是怎么避免贪婪匹配,你们干嘛都要找表面上的替代方法呢?Top

12 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-01-27 15:42:57 得分 0

我们是菜鸟,但是不要说所有的玩java的人啊!  
  我想我们是能解决的  
  你的意思我知道了  
  String   str   =   "[b]1[/b]   2   [b]3[/b]";  
  str   =   str.replaceAll("\\[b\\]([^\\[]*)\\[\\/b\\]",   "<b>$1</b>");  
  这个还不行?Top

13 楼platinum(代号 铂)回复于 2005-01-27 15:48:44 得分 0

确实不行,因为我确实还有嵌套的例子……像   [url=[archive=109]]《发烧症候群》[/url]   这样的,尽管常规   UBB   里是没有这个的……Top

14 楼pigo()回复于 2005-01-27 16:39:04 得分 20

解决贪婪匹配,要加个问号,如下:  
   
   
  String   str="[b]1[/b]   2   [b]3[/b]";  
   
  str   =   str.replaceAll("\\[b\\](.*?)\\[/b\\]",   "<b>$1</b>");  
  System.out.println(str);  
   
  //玩   java   的智商就是让人佩服  
   
   
  不过楼主这句话在这里说不太合适吧?????????  
   
   
   
   
   
  Top

15 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-01-27 16:47:31 得分 0

楼上的给他把问题解决了吧。我是不行了啊  
  给java版长脸Top

16 楼Sunmast(速马@Redmond, WA)回复于 2005-01-27 16:57:51 得分 20

哈哈Top

17 楼platinum(代号 铂)回复于 2005-01-27 17:07:06 得分 0

多谢楼上,解决了困扰了我   n   个月的问题。  
   
  上次问同样的问题我问“how   to”结果一个   n   个星星的哥们的回复是一个   boolean   值的“对”,快给我气疯了,这次差点又重蹈覆辙,没有踢馆的口气恐怕也找不到个能人来解惑了。  
   
  真的很感谢  
   
  http://community.csdn.net/Expert/topic/3758/3758654.xml  
  http://community.csdn.net/Expert/topic/3758/3758655.xml  
  http://community.csdn.net/Expert/topic/3758/3758656.xml  
  http://community.csdn.net/Expert/topic/3758/3758662.xml  
  http://community.csdn.net/Expert/topic/3758/3758661.xmlTop

18 楼platinum(代号 铂)回复于 2005-01-27 17:08:15 得分 0

靠,你小子夹进来做甚,我说的是楼上的楼上的楼上……Top

19 楼platinum(代号 铂)回复于 2005-01-27 17:10:07 得分 0

faint,没看清,夹进来了两个,我说的是我家种马……Top

20 楼Sunmast(速马@Redmond, WA)回复于 2005-01-27 17:10:38 得分 0

哇哈哈Top

21 楼Sunmast(速马@Redmond, WA)回复于 2005-01-27 17:10:58 得分 0

怎么着也帮你找了半天东西撒Top

22 楼zyg158((DD)OTP)回复于 2005-01-27 18:08:14 得分 0

我也学习一下Top

相关问题

  • UBB代码问题
  • 谁有替换的源代码?
  • 下面代码的vb代码如何用c#来替换?
  • 求一删除UBB代码的正则法
  • 什么是UBB代码?
  • 论坛UBB代码问题
  • 如何获得macro替换出来的源代码
  • 例子代码:快速替换字符(串)
  • 怎样替换Html文件中的某些代码呢?
  • 如何替换html代码中的字符串,

关键词

  • .net
  • 转换
  • 解决
  • csdn
  • ubb
  • 替换
  • replaceall
  • str
  • 问题
  • 结果

得分解答快速导航

  • 帖主:platinum
  • jFresH_MaN
  • singedcat
  • sylmoon
  • pigo
  • Sunmast

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo