求一个正则表达式,谢谢 我有如下形式的字符串:[SIZE=5]字号的大小[/SIZE]字体颜色求一个正则表达式,可以将这些替换成<font style=size:5>字号的大小</font><font style=color:orange>字体的颜色</font> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 (\[size=5\])(.[^\[]*)(\[\/size\])(\[color=(.[^\[]*)\])(.[^\[]*)(\[\/color\]) 请问我该如何做?我这样替换不行啊: s="[SIZE=5]我要的内容[/SIZE]"; reg1="(\\[color=(.[^\\[]*)\\])(.[^\\[]*)(\\[\\/color\\])"; reg ="(\\[size=5\\])(.[^\\[]*)(\\[\\/size\\])"; s=s.toLowerCase().replaceAll(reg1,""); // s=s.toLowerCase().replaceAll(reg,""); System.out.println(s); 有点难,用个装饰类吧先用正则表达式解析出标签,如size(用来决定调用什么类装饰),以及属性5然后用有一个类,如SizeDecorater,它有一个构造函数SizeDecorater(String content, String value)——它们分别对应类的属性,然后用一个函数返回:"<font style=size:" + value + ">" + content + "</font>"其他同理。这种方法可以处理其他类型的标签以及嵌套标签。简单的做,此列可用:String str ="[SIZE=5]te[/SIZE]";System.out.println(str.replaceAll("\\[SIZE=(\\d+)\\](.+)\\[/SIZE\\]", "<font style=size:$1>$2</font>"));这种方法不能处理其他的标签 楼主是想要这个? String regex = "\\[(\\w+)=(\\w+)\\](.+)\\[/\\1\\]"; String format = "<font style=$1:$2>$3</$1>"; String str ="[SIZE=5]字号的大小[/SIZE]"; System.out.println(str.toLowerCase().replaceAll(regex, format)); str = "我要的内容"; System.out.println(str.toLowerCase().replaceAll(regex, format)); 错了,是String regex = "\\[(\\w+)=(\\w+)\\](.+)\\[/\\1\\]";String format = "<font style=$1:$2>$3</font>";String str ="[SIZE=5]字号的大小[/SIZE]";System.out.println(str.toLowerCase().replaceAll(regex, format));str = "我要的内容";System.out.println(str.toLowerCase().replaceAll(regex, format)); 改造一下楼上的,呵呵. String regex = "\\[([^=]+)=([^]]+)\\](.+)\\[/\\1]"; String format = "<font style=$1:$2>$3</font>"; String str ="[SIZE=5]字号的大小[/SIZE]"; System.out.println(str.toLowerCase().replaceAll(regex, format)); str = "我要的内容"; System.out.println(str.toLowerCase().replaceAll(regex, format)); 在javascript版已经有正解了,谢谢各位了 java 的textfield类 新手请教如何实现这个计算器的键盘响应,急啊! 请教Applet数字签名问题 *****jni编写的dll中涉及的图片参数的路径该放在何处啊,大家帮忙想想(顶贴有分)***** 数据结构与算法讨论 谁能介绍一下JAXML? 我 的helloworld程序遇到下面的错误是怎么回事? 我想补课,谁能帮忙? 这里没有高手吗? 关于java applet的安全限制!!!请指教!!! XMLHttpRequest对象send方法服务器端取不到的问题 installanyshere怎么打包WEB程序?
(\[color=(.[^\[]*)\])(.[^\[]*)(\[\/color\])
reg1="(\\[color=(.[^\\[]*)\\])(.[^\\[]*)(\\[\\/color\\])";
reg ="(\\[size=5\\])(.[^\\[]*)(\\[\\/size\\])";
s=s.toLowerCase().replaceAll(reg1,"");
// s=s.toLowerCase().replaceAll(reg,"");
System.out.println(s);
先用正则表达式解析出标签,如size(用来决定调用什么类装饰),以及属性5
然后用有一个类,如SizeDecorater,它有一个构造函数SizeDecorater(String content, String value)——它们分别对应类的属性,然后用一个函数返回:
"<font style=size:" + value + ">" + content + "</font>"
其他同理。这种方法可以处理其他类型的标签以及嵌套标签。简单的做,此列可用:
String str ="[SIZE=5]te[/SIZE]";
System.out.println(str.replaceAll("\\[SIZE=(\\d+)\\](.+)\\[/SIZE\\]", "<font style=size:$1>$2</font>"));
这种方法不能处理其他的标签
String regex = "\\[(\\w+)=(\\w+)\\](.+)\\[/\\1\\]";
String format = "<font style=$1:$2>$3</$1>";
String str ="[SIZE=5]字号的大小[/SIZE]";
System.out.println(str.toLowerCase().replaceAll(regex, format));
str = "我要的内容";
System.out.println(str.toLowerCase().replaceAll(regex, format));
String regex = "\\[(\\w+)=(\\w+)\\](.+)\\[/\\1\\]";
String format = "<font style=$1:$2>$3</font>";
String str ="[SIZE=5]字号的大小[/SIZE]";
System.out.println(str.toLowerCase().replaceAll(regex, format));
str = "我要的内容";
System.out.println(str.toLowerCase().replaceAll(regex, format));
String format = "<font style=$1:$2>$3</font>";
String str ="[SIZE=5]字号的大小[/SIZE]";
System.out.println(str.toLowerCase().replaceAll(regex, format));
str = "我要的内容";
System.out.println(str.toLowerCase().replaceAll(regex, format));