当前位置: 首页 > 编程笔记 >

如何在Java中使用正则表达式从字符串中提取HTML标记?

韦寒
2023-03-14
本文向大家介绍如何在Java中使用正则表达式从字符串中提取HTML标记?,包括了如何在Java中使用正则表达式从字符串中提取HTML标记?的使用技巧和注意事项,需要的朋友参考一下

java的java.util.regex包提供了各种类来查找字符序列中的特定模式。

该程序包的模式类是正则表达式的编译表示。为了将正则表达式与String匹配,此类提供了两种方法,即-

  • compile() -此方法接受表示正则表达式的String并返回Pattern类的对象。

  • matcher() -此方法接受一个String值并创建一个matcher对象,该对象将给定的String与当前模式对象表示的模式匹配。

java.util.regex包的Matcher类是执行匹配操作的引擎。要找到匹配的值,您需要使用此类的两个方法,即-

  • find() -如果当前对象表示的匹配操作成功,则此方法返回true,否则返回false。

  • group() -此方法接受表示特定组的整数值,并返回在匹配操作中由指定组捕获的序列。

因此,要从字符串查找HTML标签-

  • 通过将表示所需HTML标记的正则表达式作为参数传递给compile()Pattern类的方法来创建Pattern对象。

  • 使用method()Pattern类的匹配器将其与所需的String匹配。

  • 使用find()Matcher类的方法验证是否发生了。

  • 如果匹配,请使用group()Matcher类的方法检索匹配的String 。

示例

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ExtractHtmlTag {
   public static void main(String[] args) {
      String str = "Welcome to <b>Nhooo<b>";
      //创建一个模式对象
      Pattern pattern = Pattern.compile("<b>(\\S+)</b>");
      //匹配字符串中的已编译模式
      Matcher matcher = pattern.matcher(str);
      if (matcher.find()) {
         String result = matcher.group(1);
         System.out.println(result);
      }
   }
}

输出结果

Nhooo
 类似资料:
  • 问题内容: 我有这串 并且我需要提取这3个子字符串 1234 06:30 07:45 如果我使用此正则表达式\\ d {2} \:\\ d {2}我只能提取第一个小时的06:30 matcher.group(1)引发异常。 另外我也不知道如何提取1234。此字符串可以更改,但总是在’XX〜’之后 。您对如何将这些字符串与正则表达式匹配有任何想法吗? 更新 多亏了亚当的建议,我现在有了这个正则表达式

  • 我试图从一个大字符串中提取几个值,我很难提取它们,我厌倦了一些正则表达式模式,但它们总是给我不匹配的结果。无论如何,它们似乎在可用的在线正则表达式站点中有效,但在Scala中无效。我想做的是 输入: ESStor \磁盘 提取[输出]: 供应商名称 MO_May_MS_5.0 08765J54U3K4QVR0 我试图从输入字符串中提取这三个值,但无法做到。 有人能让我看看我做错了什么吗? 提前谢谢

  • 问题内容: 我需要从此字符串中提取日期: BB通知:在04/10的11:28购买您的壁虱,最终卡号xxxx,$ 00,00。如果您不认识,请致电40032 2412。 也是整个日期04/04/2015 日期格式为dd / MM或dd / MM / yyyy 代码: String mydata =“ BB告知:在04/10的11:28,购买您的tickect,最终卡号xxxx,$ 00,00。如果您

  • 问题内容: 我有一个字符串,其中有两个单引号,即’字符。在单引号之间是我想要的数据。 如何编写正则表达式从以下文本中提取“我想要的数据”? 问题答案: 假设你想要单引号之间的部分,请将此正则表达式与一起使用Matcher: 例: 结果:

  • 问题内容: 我需要从字符串中提取: 使用Java语言中的正则表达式。 有人可以帮帮我吗?我是第一次使用正则表达式。 问题答案: 尝试

  • 问题内容: 在一个应用程序中,我得到了包含IP地址的字符串,但是这些字符串没有精确的格式。我们所知道的是,这些字符串可能包含IP地址。 这是字符串的示例: “ XPSPort” “ IP_10.29.167.187” “ 10.29.166.193” 我想获得一个Java代码,如果有一个Java代码,则提取该字符串的IP地址;如果该字符串不包含IP地址,则返回“”。 我尝试了这段代码,但它不起作用