zoukankan      html  css  js  c++  java
  • 正则表达式匹配提取字符串 ?! ?=

    A:<img src="http://localhost:8443/image/20210903/f7dd0a30a2d01bf0a186120f96bf9af6/image7.png"  />  b.<img src="http://localhost:8443/image/20210903/f7dd0a30a2d01bf0a186120f96bf9af6/image7.png"  />  Z、
    
    
            Pattern r = Pattern.compile("([A-Za-z])([::..、])(.+?)(?=((?!p|t)[A-Z_a-z][::..、]))");
            Matcher m = r.matcher("A:<img src="http://localhost:8443/image/20210903/f7dd0a30a2d01bf0a186120f96bf9af6/image7.png"  />  b.<img src="http://localhost:8443/image/20210903/f7dd0a30a2d01bf0a186120f96bf9af6/image7.png"  />  Z、");
    //        Pattern r = Pattern.compile("Window(?=95|98|NT|2000|3.1)");
    //        Matcher m = r.matcher("Windows95 Window95");
            while (m.find()) {
                System.out.print(m.group(1));
                System.out.print("-");
                System.out.print(m.group(3));
                System.out.println("");
            }

    输出

    A-<img src="http://localhost:8443/image/20210903/f7dd0a30a2d01bf0a186120f96bf9af6/image7.png" />
    b-<img src="http://localhost:8443/image/20210903/f7dd0a30a2d01bf0a186120f96bf9af6/image7.png" />

    ((?!p|t)[A-Z_a-z][::..、])

    这串的意思是匹配不包含pt开头的英文字符且第二个字符为::..、

    ?=为预查不消耗匹配到的字符,也就是说匹配到了以b.做结尾的字符但是不消耗b.

    欢迎评论,一起学习,对大家有用请点个赞。
  • 相关阅读:
    读取csv遇到的双循环
    hadoop环境配置
    mysql的查询
    mysql的基本操作
    mysql与python的交互
    设置自动获取IP和DNS
    pyecharts绘制地图
    集合 set方法
    字符串 string方法
    字典 dict方法
  • 原文地址:https://www.cnblogs.com/GH0522/p/15243642.html
Copyright © 2011-2022 走看看