正则表达式:识别wiki中date、height、Link


date:\{\{birth date\|(\d+)\|(\d+)\|(\d+)
hegiht:(\d+)(\.\d+)?(in|inches|cm|\”)

public static void detectDates(String str)
    {
        String regex = "\\{\\{birth date\\|(\\d+)\\|(\\d+)\\|(\\d+)";
        Pattern p = Pattern.compile(regex);
        Matcher matcher = p.matcher(str);
        while(matcher.find())
        {
            for(int i=0;i<matcher.groupCount();)
                System.out.print(matcher.group(++i)+" ");
            System.out.println();
        }


    }
    public static void detectLink(String str)
    {
        String regex = "\\[\\[([^\\|\\]]+)";
        Pattern p = Pattern.compile(regex);
        Matcher matcher = p.matcher(str);
        while(matcher.find())
        {
            for(int i=0;i<matcher.groupCount();)
                System.out.print(matcher.group(++i)+" ");
            System.out.println();
        }
    }
    public static void detectNumber(String str)
    {
        String regex = "(\\d+)(\\.\\d+)?(in|inches|cm|\")";
        Pattern p = Pattern.compile(regex);
        Matcher matcher = p.matcher(str);
        while(matcher.find())
        {
            for(int i=0;i<matcher.groupCount();)
                System.out.print(matcher.group(++i)+" ");
            System.out.println();
        }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String infor = "{{Infobox scientist"+
"| name"+   
"= James Nicholas \"Jim\" Gray"+
"| birth_date    = {{birth date|1944|1|12}}"+
"| birth_place  = [[San Francisco, California]]"+
"| death_date = ('''lost at sea''')"+ 
"{{death date|2007|1|28|1944|1|12}}"+
"| nationality   = American"+
"| field              = [[Computer Science]]"+
"| alma_mater = [[University of California,"+
"Berkeley]]"+
"| advisor        = Michael Harrison    | height = 1.80cm | heigh = 1.2cm";
        InfoBox.detectDates(infor);
        InfoBox.detectLink(infor);
        InfoBox.detectNumber(infor);
    }
输出:
1944 1 12 
San Francisco, California 
Computer Science 
University of California,Berkeley 
1 .80 cm 
1 .2 cm 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值