正则表达式匹配多个表达式?

Java先知
(<link.*>)|(<img.*>)|(<input.*type=\"image\".*>)|(<script.*src=\".*\".*>)

我正在编写一个正则表达式,以便用HTML中的Base64数据URI(不相关)替换所有出现的内联静态内容。每个表达式都可以完美地独立工作,但是我需要按顺序获取它们,并且编写排序算法对于正在使用的数据有点疯狂(这已经很疯狂了)。我认为这应该工作,但是不匹配其中的第一个RegEx,但不匹配其他RegEx。您如何匹配任何表达式?

<link.*>
<img.*>
<input.*type=\"image\".*>
<script.*src=\".*\".*>

我的Java代码:

    private final Pattern inlineLink = Pattern.compile("(<link.*>)|(<img.*>)|(<input.*type=\"image\".*>)|(<script.*src=\".*\".*>)", Pattern.CASE_INSENSITIVE);



Matcher mtch = inlineLink.matcher(html);
    while (mtch.find()) {
        String o = mtch.group();
        if (!o.contains("href=")) continue;
        String href = o.substring(o.indexOf("href=") + 5);
        if (href.startsWith("\"")) {
            href = href.substring(1, href.indexOf("\"", 1));
        }else {
            href = href.substring(0, href.indexOf(" "));
        }
        href = processHREF(href);
//do other stuffs
维克多·斯特里比尤(WiktorStribiżew)

我建议将斜杠加倍,并在第一个捕获组中放置替代方案。

Pattern inlineLink = Pattern.compile("(<link.*>|<img.*>|<input.*type=\\\"image\\\".*>|<script.*src=\\\".*\\\".*>)", Pattern.CASE_INSENSITIVE);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式的多个匹配

来自分类Dev

多个正则表达式匹配

来自分类Dev

表达式不匹配正则表达式

来自分类Dev

正则表达式匹配纠结的表达式

来自分类Dev

使用正则表达式匹配表达式

来自分类Dev

正则表达式 URL 表达式匹配

来自分类Dev

正则表达式匹配集合多个匹配

来自分类Dev

MySQL正则表达式匹配且不匹配多个表达式,无论顺序如何

来自分类Dev

正则表达式-多个表达式

来自分类Dev

正则表达式匹配多个模式

来自分类Dev

正则表达式匹配多个<images>标签

来自分类Dev

如何使用正则表达式匹配多个段落?

来自分类Dev

正则表达式匹配多个组

来自分类Dev

如何使用正则表达式匹配多个项目

来自分类Dev

正则表达式多个匹配,或“或”后面

来自分类Dev

Powershell-正则表达式多个匹配项

来自分类Dev

正则表达式HTML属性的多个匹配项

来自分类Dev

正则表达式:匹配多个允许的长度?

来自分类Dev

Java正则表达式匹配器-多个组

来自分类Dev

如何使用正则表达式匹配多个标记?

来自分类Dev

正则表达式精确匹配多个等号

来自分类Dev

正则表达式中多个匹配项的混淆

来自分类Dev

正则表达式匹配多个元素

来自分类Dev

正则表达式匹配多个单词

来自分类Dev

正则表达式匹配多个否定先行

来自分类Dev

Javascript正则表达式匹配多个重复块

来自分类Dev

正则表达式/ A?/ g不匹配多个A

来自分类Dev

PHP正则表达式精确匹配多个引号

来自分类Dev

如何使用正则表达式匹配多个单词