Pattern srcAttrPattern = Pattern.compile("(?i)(?<=src=\")[^\"]*(?<!\")");
Matcher srcMatcher=srcAttrPattern.matcher("src=\"\"");
System.out.println(srcMatcher.find());
这打印错误。我如何解释上面的代码?是否需要进行任何修改以包含src =&#34;&#34;以上代码用于填充空字符串和填充字符串的目的。此语句基本上与html内容的<img>
中的src标记匹配。
答案 0 :(得分:2)
请注意,要解析HTML,您最好使用一些专用解析器(例如Jsoup)。
对于匹配src=""
字符串的当前问题,最终的负面反馈要求当前位置之前的字符不是引号。由于您使用的是否定字符类[^"]*
(除了"
以外的0 +个字符),您就不需要那种后视。
删除(?<!")
,您将src=""
中的空字符串与"(?i)(?<=src=\")[^\"]*"
匹配。
请参阅regex demo