XML文件中配置正则表达式

本文详细解析XML中使用正则表达式的技巧,并通过Java实例展示如何灵活匹配和提取特定信息,涵盖字符串匹配、分组和多条件筛选等关键点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例XML:

<data type="REGEX">
                <code>prop1</code>
                <name>书名</name>
                <method>
                    <![CDATA[
                        (?i)(?<=BookName\: \")([\u4e00-\u9fa5]+)
                    ]]>
                </method>
</data>

1)正则中含有<是会有错误的,需要进行处理;

2)注意和Java文件中的写法稍微不一样啊(反斜杠/) 多写一个结果就可能出不来了(⊙o⊙)哦


例Java:

public class TestRegex {
    public static void main(String[] args) throws Exception {

        String str ="BookName: \"我欲封天\",CategoryName: \"仙侠\", SubCategoryName: \"古典仙侠\"";
        String regex = "(?i)(?<=CategoryName\\: \")([\u4e00-\u9fa5]+)";
        System.out.println(getRegexValue(regex, str, true).toString());

    }

    public static Object getRegexValue(String regex, String html, boolean isList) {

        if (isList == false) {
            Pattern p = Pattern.compile(regex);
            Matcher matcher = p.matcher(html);
            return matcher.find() == true ? matcher.group() : null;
        } else {
            List<String> result = new ArrayList<String>();
            Pattern p = Pattern.compile(regex);
            Matcher matcher = p.matcher(html);
            while (matcher.find()) {
                result.add(matcher.group());
            }
            return result;
        }
    }
}

转载于:https://my.oschina.net/u/2329222/blog/502449

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值