加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则匹配一段关键词字符

发布时间:2020-12-14 00:41:15 所属栏目:百科 来源:网络整理
导读:需求是提前 有证建筑面积22627.48㎡,无证建筑面积1273.85㎡ 相应的土地使用权共计面积14711.00㎡ 下面是代码 import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;import org.apache.commons

需求是提前 有证建筑面积22627.48㎡,无证建筑面积1273.85㎡ 相应的土地使用权共计面积14711.00㎡

下面是代码

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.lang3.StringUtils;

public class RegexTest2
{
    public static void main(String[] args)
    {
        String regex = "([u4e00-u9fa5]{4,10}?(?:有证|无证|建筑|面积))([(-?d+)(.d+)?]{2,10})([(㎡)?]{0,1})";
        String str =
            "试例1:有证建筑面积22627.48㎡,无证建筑面积1273.85㎡,无证部分按现状处置,涉及违法、违章部分,由买受人自行接受行政主管部门依照有关行政法规的处理;附属物包括室内装修物、门窗、灯具、厨房及厕所内固定设施、电梯等;相应的土地使用权共计面积14711.00㎡,";
        System.out.print("敏感字如下:");
        System.out.println(getKeyWordsC(regex,str));
        System.out.println(getKeyWordsCC(regex,str));
    }
   
    // 提取 中括号中关键字
    public static List<String> getKeyWordsCC(String regex,String str)
    {
        Pattern p = Pattern.compile(regex);
        Matcher matcher = p.matcher(str);
        List<String> list = new ArrayList<String>();
        while (matcher.find())
        {
            if (StringUtils.isNotBlank(matcher.group()))
            {
                list.add(matcher.group());
            }
        }
        return list;
    }
    
    // 提取 中括号中关键字
    public static String getKeyWordsC(String regex,String str)
    {
        Pattern p = Pattern.compile(regex);
        Matcher matcher = p.matcher(str);
        StringBuffer strBuf = new StringBuffer(0);
        while (matcher.find())
        {
            if (StringUtils.isNotBlank(matcher.group()))
            {
                strBuf.append(matcher.group());
            }
        }
        return strBuf.toString();
    }
}

控制台打印

敏感字如下:有证建筑面积22627.48㎡无证建筑面积1273.85㎡相应的土地使用权共计面积14711.00㎡ [有证建筑面积22627.48㎡,无证建筑面积1273.85㎡,相应的土地使用权共计面积14711.00㎡]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读