浏览 6414 次
锁定老帖子 主题:java正则表达式
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (6)
|
|
---|---|
作者 | 正文 |
发表时间:2010-07-02
比如 ck 写道 ck1 写道 ck.yang 写道 ck中国
ck2 写道 ck3 写道 ck.yang 写道 ck-ware 写道 ck4 写道 ck5 写道 ck-6 写道 ck中国
ck? 牛逼了! 牛逼了牛逼了 牛逼了牛逼了牛逼了~ 牛逼了牛逼了牛逼了牛逼了~ 牛逼了牛逼了牛逼了牛逼了牛逼了 什么意思,牛逼了? 牛逼了! 很好,祖国很强大,党很团结。剩下的事情就是牛逼了 我就是想说ck阿。。都解释过了~~ 自己不看~ 写不出,烦~ 速度来人解析 欢迎各位来探讨,请注意还有下面的引用哦 ck 写道 ck1 写道 ck1 写道 ck1 写道 ck1 写道 ck1 写道 速度来人解析 欢迎各位来探讨,请注意还有下面的引用哦 多人引用腰不疼! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-07-02
一个猜想就是
public class QuoteTest { private static final String quote="(\\[quote=(.*)\\])(.*?)(\\[\\/quote\\])"; private static final String quote_div_title = "<div class=\"quote_title\">"; private static final String quote_div = "<div class=\"quote_div\">"; private static final String quote_div_last = "</div>"; private boolean haveQuote(String content) { Matcher matcher = Pattern.compile(quote).matcher(content); while (matcher.find()) { return true; } return false; } private String InnerQuoteCoverter(String str) throws Exception{ Pattern pattern = Pattern.compile(quote,2); Matcher matcher = pattern.matcher(str); StringBuffer stringbuffer = new StringBuffer(); for (boolean flag = matcher.find(); flag; flag = matcher.find()) { matcher.appendReplacement(stringbuffer,quote_div_title + matcher.group(1) + quote_div_last +quote_div+ InnerQuoteCoverter(matcher.group(2)) +quote_div_last); } matcher.appendTail(stringbuffer); return stringbuffer.toString(); } public static void main(String args[]) throws Exception{ String str="[quote=ck][quote=ck1][quote=ck1]" +"[quote=ck1][quote=ck1][quote=ck1]" +"速度来人解析欢迎各位来探讨,请注意还有下面的引用哦" +"多人引用腰不疼!腰不疼背不酸爽!写出你们的想法吧"; QuoteTest q=new QuoteTest(); System.out.println(q.InnerQuoteCoverter(str)); } } 但是结果却是让人腰疼! |
|
返回顶楼 | |
发表时间:2010-07-03
汗。用DIV你好歹也在web环境下呀。
|
|
返回顶楼 | |
发表时间:2010-07-03
最后修改:2010-07-03
想了想,此类问题似乎跟web环境无关吧,只要能解释出来就是了吧,div这么显现出来以我提问无关。我想法是想用一个懒汉式来循环,在用贪婪来解释
|
|
返回顶楼 | |
发表时间:2010-07-03
这个和正则有关系么?用个栈不就解决了?
|
|
返回顶楼 | |
发表时间:2010-07-04
baobaocc 写道 一个猜想就是
public class QuoteTest { private static final String quote="(\\[quote=(.*)\\])(.*?)(\\[\\/quote\\])"; private static final String quote_div_title = "<div class=\"quote_title\">"; private static final String quote_div = "<div class=\"quote_div\">"; private static final String quote_div_last = "</div>"; private boolean haveQuote(String content) { Matcher matcher = Pattern.compile(quote).matcher(content); while (matcher.find()) { return true; } return false; } private String InnerQuoteCoverter(String str) throws Exception{ Pattern pattern = Pattern.compile(quote,2); Matcher matcher = pattern.matcher(str); StringBuffer stringbuffer = new StringBuffer(); for (boolean flag = matcher.find(); flag; flag = matcher.find()) { matcher.appendReplacement(stringbuffer,quote_div_title + matcher.group(1) + quote_div_last +quote_div+ InnerQuoteCoverter(matcher.group(2)) +quote_div_last); } matcher.appendTail(stringbuffer); return stringbuffer.toString(); } public static void main(String args[]) throws Exception{ String str="[quote=ck][quote=ck1][quote=ck1]" +"[quote=ck1][quote=ck1][quote=ck1]" +"速度来人解析欢迎各位来探讨,请注意还有下面的引用哦" +"多人引用腰不疼!腰不疼背不酸爽!写出你们的想法吧"; QuoteTest q=new QuoteTest(); System.out.println(q.InnerQuoteCoverter(str)); } } 但是结果却是让人腰疼! 正解,支持... |
|
返回顶楼 | |
发表时间:2010-07-05
看了腰疼;
这个好像不是使用正则的吧; div引用后使用dom的createDom再嵌进去不能解决吗~~ |
|
返回顶楼 | |
发表时间:2010-07-05
这个引用格式感觉好乱啊,不晓得谁回复的什么!
|
|
返回顶楼 | |