Java 检查文本是否包含HTML样式标记

Java 检查文本是否包含HTML样式标记,java,html,regex,string,Java,Html,Regex,String,首先是的,我知道使用正则表达式解析HTML是不可取的,这不是问题的目的 问题是,我有一些文本可能包含如下HTML样式标记: <random> <li>Hi nice to see you!</li> <li>Hi it's great to see you!</li> <li>Hi how are you?</li> <li>Hi! <set foo="bar">I can</set

首先是的,我知道使用正则表达式解析HTML是不可取的,这不是问题的目的

问题是,我有一些文本可能包含如下HTML样式标记:

<random>
<li>Hi nice to see you!</li>
<li>Hi it's great to see you!</li>
<li>Hi how are you?</li>
<li>Hi! <set foo="bar">I can</set> really feel your smile today.</li>
<li>Hi! It's delightful <sr /> to see you.</li>
</random>

  • 嗨,很高兴见到你
  • 嗨,很高兴见到你
  • 嗨,你好吗
  • 嗨!我今天真的能感觉到你的微笑
  • 嗨!见到你真高兴
  • 我想做的是检查给定的文本是否包含(仅包含)一个或多个标记。我尝试过类似的方法,但是上面的文本总是返回false

    String regex ="<(?:\"[^\"]*\"['\"]*|'[^']*'['\"]*|[^'\">])+>"; //http://stackoverflow.com/a/1736801
    boolean p = Pattern.compile(categoryToUpdate.getTemplate()).matcher(regex).find();
    
    String regex=“])+>//http://stackoverflow.com/a/1736801
    布尔p=Pattern.compile(categoryToUpdate.getTemplate()).matcher(regex.find();
    

    提前感谢,如果这是一个愚蠢的问题,请道歉:(.

    可能重复检查此更改
    Pattern.compile(categoryToUpdate.getTemplate()).matcher(regex)
    Pattern.compile(regex.matcher)(categoryToUpdate.getTemplate())
    。正如saka1029所提到的,regex和输入序列是交换的。Javadocs:
    Pattern java.util.regex.Pattern.compile(String regex)
    Matcher java.util.regex.Pattern.Matcher(CharSequence input)