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.

    欢迎评论,一起学习,对大家有用请点个赞。
  • 相关阅读:
    12.12 怀北滑雪场滑雪记
    datetime类型offset-aware与offset-navie
    Django-models中的choise
    什么是__name__()
    单机Ubuntu安装第二个Mysql服务
    Ubuntu下的Python安装
    设置mysql允许外网访问
    Ubuntu初次设置root密码
    使用VMware+Ubuntu,无法切换大小写的异常处理
    XShell/Xftp 无法连接 Ubuntu20
  • 原文地址:https://www.cnblogs.com/GH0522/p/15243642.html
Copyright © 2011-2022 走看看