• 正则表达式匹配提取字符串 ?! ?=


    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.

    欢迎评论,一起学习,对大家有用请点个赞。
  • 相关阅读:
    System.TypeInitializationException
    Leetcode 884. 两句话中的不常见单词
    Leetcode 5274. 停在原地的方案数
    Leetcode 1254. 统计封闭岛屿的数目
    Leetcode 1262. 可被三整除的最大和
    数据库知识点自我补充
    最大公共连续子序列
    重建二叉树
    KMP算法
    BF算法(模式匹配)
  • 原文地址:https://www.cnblogs.com/GH0522/p/15243642.html
Copyright © 2020-2023  润新知