Java 用于在任意两个HTML标记之间进行匹配的正则表达式

Java 用于在任意两个HTML标记之间进行匹配的正则表达式,java,regex,pcre,regex-greedy,replaceall,Java,Regex,Pcre,Regex Greedy,Replaceall,我有以下内容: hi 你好 我试图匹配TEST-TEXT字符串以替换它是值,但仅当它是文本而不在属性值内时 我已经检查了Regex中的look ahead和look behind的概念,但是当前的问题是它需要为匹配使用固定的宽度。这里有一个链接,它显示了一个非常类似的情况,但有一个例外,即创建匹配的类有一个跨度 还检查了链接 下面是我正在尝试使用的两个正则表达式: \“([^”]*)\” 类似这样的东西应该会有帮助: \>([^"<]*)\< \>([^“试试测试文本(?=

我有以下内容:

hi
你好
我试图匹配TEST-TEXT字符串以替换它是值,但仅当它是文本而不在属性值内时

我已经检查了Regex中的look ahead和look behind的概念,但是当前的问题是它需要为匹配使用固定的宽度。这里有一个链接,它显示了一个非常类似的情况,但有一个例外,即创建匹配的类有一个跨度 还检查了链接

下面是我正在尝试使用的两个正则表达式:

  • \“([^”]*)\”

  • 类似这样的东西应该会有帮助:

    \>([^"<]*)\<
    
    \>([^“试试
    测试文本(?=)

    TEST-TEXT
    与TEST-TEXT匹配

    ?=
    向前看以检查结束标记


    在这里,我们可能只需在所需输出的右侧添加一个软边界(您已经在这样做了),然后为所需输出添加一个字符列表,然后收集,然后我们可以使用捕获组进行替换。
    ()
    。可能类似于此:

    ([A-Z-]+)(<\/)
    
    ([A-Z-]+)(也许这会有帮助

          String html = "<div class=\"TEST-TEXT\">hi</span>\n" +
                "<a href=\\\"https://en.wikipedia.org/wiki/TEST-TEXT\\\">first young CEO's TEST-TEXT</a>\n" +
                "<span class=\"test\">hello</span>";
    
        Pattern pattern = Pattern.compile("(<)(.*)(>)(.*)(TEST-TEXT)(.*)</.*>");
        Matcher matcher = pattern.matcher(html);
        while (matcher.find()){
            System.out.println(matcher.group(5));
        }
    
    String html=“嗨\n”+
    “\n”+
    “你好”;
    Pattern=Pattern.compile((()(.*)(测试文本)(.*));
    Matcher Matcher=pattern.Matcher(html);
    while(matcher.find()){
    系统输出println(匹配组(5));
    }
    
    用于在任意两个HTML标记之间创建字符串的正则表达式


    (?![^]*>)(测试文本)

    预期输出是什么?正则表达式的功能不足以解析HTML@TheScientificMethod以匹配第三个测试文本,而第三个测试文本是两个文本的内部文本tags@PushpeshKumarRajwanshiKumar Rajwanshi您还建议使用什么?请尝试:
    TEST-TEXT(?=)
    这还包括opining和closing标记,我希望它只匹配内部字符串。如果要匹配标记之间的任何文本,我希望它匹配一个特定的stringTEST文本(?=),该文本将匹配所有标记,但我仍然希望文本是动态的要使其成为动态的,请使用
    TEST-text(?=)
    任何东西都不匹配只有在sting后有结束标记时才有效。我要查找的是字符串在所有情况下的匹配,当它是文本而不是属性值时。只有当它是两个标记之间的唯一字符串时才会匹配。
          String html = "<div class=\"TEST-TEXT\">hi</span>\n" +
                "<a href=\\\"https://en.wikipedia.org/wiki/TEST-TEXT\\\">first young CEO's TEST-TEXT</a>\n" +
                "<span class=\"test\">hello</span>";
    
        Pattern pattern = Pattern.compile("(<)(.*)(>)(.*)(TEST-TEXT)(.*)</.*>");
        Matcher matcher = pattern.matcher(html);
        while (matcher.find()){
            System.out.println(matcher.group(5));
        }