gpt4 book ai didi

java - 正则表达式不匹配空字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:15:41 25 4
gpt4 key购买 nike

Pattern srcAttrPattern = Pattern.compile("(?i)(?<=src=\")[^\"]*(?<!\")");
Matcher srcMatcher=srcAttrPattern.matcher("src=\"\"");
System.out.println(srcMatcher.find());

这会打印出错误。我如何解释上面的代码?是否需要对上述代码进行任何修改以包含 src=""以达到空字符串和填充字符串的目的。这条语句基本上是为了匹配<img>中的src标签的 html 内容。

最佳答案

请注意,要解析 HTML,您最好使用一些专用的解析器(例如 Jsoup)。

至于当前问题匹配一个src="" string,最后的负向回顾要求当前位置之前的字符不是引号。由于您使用的是否定字符类 [^"]* (除 " 以外的 0+ 个字符)您只是不需要那个回顾。

删除 (?<!")并且您将匹配 src="" 中的空字符串与 "(?i)(?<=src=\")[^\"]*" .

参见 regex demo

关于java - 正则表达式不匹配空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36094082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com