2018-10-28正则表达式分组

当我们想匹配字符串中的一部分,要匹配的内容本身没有什么好的特性,但是其两边具有固定的属性,此时可以考虑正则表达式分组.
如下字符串,我们想匹配biz_conent的值sss123

http://www.baidu.com?biz_content=sss123&other=2323424

使用以下正则进行分组

.*biz_content=(.*?)&.*
String url = "http://www.baidu.com?biz_content=sss123&other=2323424";
            String pattern = "(.*biz_content=)(.*?)(&.*)";
            Pattern r = Pattern.compile(pattern);
            Matcher m = r.matcher(url);
            if (m.find()) {
                String group = m.group(1);
                System.out.println(group);
            }

如果想替换sss123为sss,可以

(.*biz_content=)(.*?)(&.*)
String url = "http://www.baidu.com?biz_content=sss123&other=2323424";
        String pattern = "(.*biz_content=)(.*?)(&.*)";
        Pattern r = Pattern.compile(pattern);
        Matcher m = r.matcher(url);
        if (m.find()) {
            String content_encode = "sss";
            url = url.replaceAll(pattern, "$1" + content_encode + "$3");
            System.out.println(url);
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容