gpt4 book ai didi

Java 正则表达式 html 解析器

转载 作者:行者123 更新时间:2023-12-02 07:58:56 26 4
gpt4 key购买 nike

Possible Duplicate:
java regex quantifiers

我现在正在学习一些正则表达式,但我遇到了这个问题:

所以我有一个像这样的字符串TAG1 一些文本 TAG2 一些文本 TAG3 一些文本

我需要获取的是标签语句之间的子字符串。类似的东西

Tag1 sometext
Tag2 some text
Tag3 someText

所以我写了这个正则表达式,

Pattern pattern = Pattern.compile("TAG\\d.*TAG\\d");
Matcher matcher = pattern.matcher(string);
while(matcher.find){
print(matcher.group);
}

但是输出是

TAG1 sometext TAG2 some text TAG3 someText

我的理解是,点匹配任何东西,星号则将其量化为没有或很多。因为我相信我的正则表达式意味着标记一些数字,然后一些其他内容,然后标记和一些数字。

当我写这篇文章时,我也意识到我不想要标签# 文本标签#组合。例如我不想TAG# 文本 TAG# 文本 TAG#

有人可以增强我对正则表达式的理解吗?

谢谢

编辑 ---

我没有用正则表达式编写一个完整的 html 解析器。不。这是一个 html 解析项目,我使用 Jsoup 来完成其中的最大部分。这个正则表达式只是一种获取有关 html 的一些元数据的 hack,以便我以一种或另一种形式将 html 传递给 jsoup。

最佳答案

您的表达式中没有组。使用括号将它们分成几组。就像“(TAG\d)(.*)(TAG\d)”一样,我也是正则表达式的新手,您可能需要使用正则表达式,但至少括号部分是最低限度的。

关于Java 正则表达式 html 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9205836/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com