java - java中的正则表达式

标签 java regex string html-parsing

String s= "(See <a href=\"/wiki/Grass_fed_beef\" title=\"Grass fed beef\" " +
          "class=\"mw-redirect\">grass fed beef.) They have been used for " +
          "<a href=\"/wiki/Paper\" title=\"Paper\">paper-making since " +
          "2400 BC or before.";

在上面的字符串中,我将 html 与文本混合在一起。

好吧,要求是输出如下:-

They have been used for paper-making since 2400 BC or before.

有人可以帮助我使用一个通用正则表达式来根据给定的输入生成所需的输出吗?

提前致谢!

最佳答案

以下表达式:

\([^)]*?\)|<[a-zA-Z/][^>]*?>

将匹配任何看起来像 HTML 标记的内容和任何带括号的文本。将上述文本替换为“”,然后就可以了。

注意:如果您尝试匹配任何包含脚本标签的字符串,或者“HTML”,其中作者在未将 < 和 > 用作标签时懒得转义它们分隔符),或(没有 ),事情可能不会如您所愿。

关于java - java中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2925284/

相关文章:

java - 在匿名类中使用实例

regex - dart:使用正则表达式拆分字符串并包含分隔符

java - 使用正则表达式检查特定字符串

r - rlang 包中的 sym() 和 parse_expr() 有什么区别?

java - Spring Security 5.3.2 OAuth 2,资源所有者密码凭证流程 - 如何向授权服务器 uri 添加额外的 HEADER 参数

java - 将特定类型的第一个元素映射到字段

移动文件的静态方法中的 java.io.FileNotFoundException(访问被拒绝)

用于匹配具有前缀的目录的正则表达式模式

regex - Perl 正则表达式指定捕获的最大长度

python - 为什么 re.findall 匹配字符串,但没有正确返回结果?