当前位置: 首页 > 面试题库 >

Java Regex从HTML锚(…)标签获取文本

谢高峯
2023-03-14
问题内容

我正在尝试在特定标签内获取文本。所以,如果我有:

<a href="http://something.com">Found<a/>

我希望能够检索Found文本。

我正在尝试使用正则表达式。如果<a href="http://something.com>保持不变,我可以做到,但事实并非如此。

到目前为止,我有这个:

Pattern titleFinder = Pattern.compile( ".*[a-zA-Z0-9 ]* ([a-zA-Z0-9 ]*)</a>.*" );

我认为最后两个部分-可以([a-zA-Z0-9 ]*)</a>.*-但我不知道第一部分要做什么。


问题答案:

正如他们所说的,不要使用正则表达式来解析HTML。如果您知道这些缺点,则可以摆脱它。尝试

Pattern titleFinder = Pattern.compile("<a[^>]*>(.*?)</a>", Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
Matcher regexMatcher = titleFinder.matcher(subjectString);
while (regexMatcher.find()) {
    // matched text: regexMatcher.group(1)
}

将遍历字符串中的所有匹配项。

它不会处理嵌套<a>标签,并且会忽略标签内的所有属性。



 类似资料:
  • 我有一个关于HTML中锚tel:标记的小问题。 这是有效的,还是有关于如何正确书写的标准? 空格和前缀的问题困扰了我,允许吗?

  • 问题内容: 我正在编写一个JSP / Servlet,并且尝试获取URI的锚点部分,例如: 如何从我的请求中获得分数?显然行不通吗? 任何帮助都将受到欢迎。 问题答案: 这是不可能的,因为客户端不会将“锚定部分”发送到服务器 例如,这是Chrome提交后生成的确切请求(使用Wireshark记录): 看,没有#foobar。因此,服务器应用程序无法读取它。 您可以做一些JavaScript魔术,将

  • 使用regex,我希望能够获得多个html标记之间的文本。这里的HTML只是为了表示输入,我不担心HTML标签,只是想检索HTML标签中的内容(在正确的开始和结束标签之间)。例如,以下内容: 所需输入: 所需输出: 获得的输出: Regex我尝试过: 我没有得到预期的结果。 我的java代码:

  • 问题内容: 我要提取: 来自标签的src的文本和 类数据内的定位标记的文本 我成功地提取了img src,但是从锚标记中提取文本时遇到了麻烦。 这是整个HTML页面的链接。 这是我的代码: 我想做的是 提取图像src(链接)和中的标题,因此例如: 应该提取: 问题答案: 以上所有答案确实可以帮助我构建答案,因此,我对其他用户提出的所有答案投了赞成票:但是我最终对自己正在处理的确切问题汇总了自己的答

  • 我有一个锚标记,它有一个本地href值,还有一个JavaScript函数,它使用href值,但将它指向一个与通常略有不同的位置。标签看起来像

  • 问题内容: 我试图从给定的字符串中获取HTML图像标签的url。应该有一些正则表达式来获取它。但是不知道该怎么做。谁可以帮我这个事。 例如 我只需要字符串中的 _http://xyz.com/par.jpg_ 问题答案: 请参阅此问题以供参考。基本上说使用: