| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 754 人关注过本帖
标题:正则表达式的问题
只看楼主 加入收藏
didozhp
Rank: 2
等 级:论坛游民
帖 子:38
专家分:20
注 册:2009-8-7
结帖率:87.5%
收藏
已结贴  问题点数:19 回复次数:4 
正则表达式的问题
第一题:
利用Random类产生5个1~30之间(包括1和20)的随机整数
我当初想的是用数组保存产生的随机数,但感觉效率很低,大家有什么好的办法吗
第二题:
给定下面的HTML代码:
<font face="Arial,Serif" size="+2" color="red">
要求对内容进行拆分,拆分之后的结果是:
face Arial,Serif
size +2
color red
这个用正则应该什么表示
搜索更多相关主题的帖子: 正则表达式 
2010-07-30 12:20
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:19 
第二題
正则表达式分两步
第一步
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 = (rex1);
        Pattern pattern2 = (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 编辑 ]

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-07-30 13:37
didozhp
Rank: 2
等 级:论坛游民
帖 子:38
专家分:20
注 册:2009-8-7
收藏
得分:0 
回复 2楼 lampeter123
好的,试试……
2010-07-30 14:26
didozhp
Rank: 2
等 级:论坛游民
帖 子:38
专家分:20
注 册:2009-8-7
收藏
得分:0 
回复 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的属性来,输出的还是整一句嘛
2010-07-30 15:09
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:0 
请看二楼,我已修正了第一个表达式

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-07-30 15:21
快速回复:正则表达式的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013712 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved