正则表达式合集

本文通过两个案例展示了Java中正则表达式的实际应用:一是如何移除字符串中的特定字符并消除重复字符;二是如何对IP地址进行排序。此外,还介绍了多行HTML匹配的方法以及一些常用的正则表达式模式,例如非中文字符的匹配、从网页中提取元信息等。
摘要由CSDN通过智能技术生成
public class Test {
    public static void main(String[] args) {
        //case1:除去“.”和重复出现的字符
        String line= "我我我..我要..要要要.....学学学学学...编编编....程程程程程程";
         line = line.replaceAll("\\.", "");
        System.out.println(line.replaceAll("(.)\\1+","$1"));
        //case2:对IP地址进行排序
        String ip = "192.168.1.254 102.49.23.13 10.10.10.10 2.2.2.2 8.109.90.30";
        ip = ip.replaceAll("(\\d+)","00$1");
        ip = ip.replaceAll("0*(\\d{3})","$1");
        System.out.println("排序前:"+ip);
        /*....排序过程已被省略...*/
        ip = ip.replaceAll("0*(\\d+)","$1");
        System.out.println("排序后:"+ip);
    }
}


2,多行匹配html

Matcher matcher = Pattern.compile("<div\\s*class=\\s*\"area\"\\s*id=\\s*\"area2\"\\s*>\\s*<h2>.*</h2>" +
                                          "\\s*<ul>\\s*<li>(?<re>.*?)?</li>\\s*</ul>\\s*</div>",Pattern.DOTALL).matcher(text);,

3,常用场景

非中文:
[^\u4E00-\u9FA5]+ 
提取网页content:
<meta ([^>]*?)(keywords|description|KEYWORDS|DESCRIPTION).*?content="?(?<content>[^">]+)
去除标签:
<title[^>]*>.*?</title>|<script[^>]*>.*?</script>|<style[^>]*>.*?</style>|<!--.*?-->|&(#*)\w+;|\s+|<[^>]*>
提取网页编码:
<meta([^>]*?)charset\s*=\s*(?<charset>[^">]+)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值