正则表达式的问题
第一题:利用Random类产生5个1~30之间(包括1和20)的随机整数
我当初想的是用数组保存产生的随机数,但感觉效率很低,大家有什么好的办法吗
第二题:
给定下面的HTML代码:
<font face="Arial,Serif" size="+2" color="red">
要求对内容进行拆分,拆分之后的结果是:
face Arial,Serif
size +2
color red
这个用正则应该什么表示
搜索更多相关的解决方案:
正则表达式
----------------解决方案--------------------------------------------------------
第二铨
正则表达式分两步
第一步
String rex1 = "<\\s*font\\s+([^>]*)\\s*>";//取出font 的属性
第二步
String rex2 = "([a-z]+)\\s*=\\s*\"([^\"]+)\"";//在属性中拆分
程序代码:
import java.util.regex.*;
public class TestRE {
public static void main(String[] args) {
String str = "<font face=\"Arial,Serif\" size=\"+2\" color=\"red\">";
String rex1 = "<\\s*font\\s+([^>]*)\\s*>";
String rex2 = "([a-zA-Z]+)\\s*=\\s*\"([^\"]+)\"";
Pattern pattern1 = Pattern.compile(rex1);
Pattern pattern2 = Pattern.compile(rex2);
Matcher m = pattern1.matcher(str);
while (m.find()) {
String attribs = m.group(1);
//System.out.println("find1");
Matcher m2 = pattern2.matcher(attribs);
while (m2.find()) {
//System.out.println("find2");
System.out.println(m2.group(1)+" "+m2.group(2));
}
}
}
}
public class TestRE {
public static void main(String[] args) {
String str = "<font face=\"Arial,Serif\" size=\"+2\" color=\"red\">";
String rex1 = "<\\s*font\\s+([^>]*)\\s*>";
String rex2 = "([a-zA-Z]+)\\s*=\\s*\"([^\"]+)\"";
Pattern pattern1 = Pattern.compile(rex1);
Pattern pattern2 = Pattern.compile(rex2);
Matcher m = pattern1.matcher(str);
while (m.find()) {
String attribs = m.group(1);
//System.out.println("find1");
Matcher m2 = pattern2.matcher(attribs);
while (m2.find()) {
//System.out.println("find2");
System.out.println(m2.group(1)+" "+m2.group(2));
}
}
}
}
[ 本帖最后由 lampeter123 于 2010-7-30 14:58 编辑 ]
----------------解决方案--------------------------------------------------------
回复 2楼 lampeter123
好的,试试…… ----------------解决方案--------------------------------------------------------
回复 2楼 lampeter123
String str = "<font face=\"Arial,Serif\" size=\"+2\" color=\"red\">";String rex1 = "<\\s*font\\s+([^>])\\s*>";
String s[] = str.split(rex1);
System.out.println(s[0]);
为什么这样取不出font的属性来,输出的还是整一句嘛
----------------解决方案--------------------------------------------------------
请看二楼,我已修正了第一个表达式
----------------解决方案--------------------------------------------------------