gpt4 book ai didi

java - 匹配 HTML 正则表达式 java 中的第 n 个数字

转载 作者:行者123 更新时间:2023-12-01 14:36:48 25 4
gpt4 key购买 nike

您好,我需要找到字符串中第二次出现的匹配项

我有一个像“

这样的字符串
<span class="test">
example
</span>
<span class="test">
example1
</span>
<span class="test">
example2
</span>

我需要从我尝试的内容中提取示例1 (?:<span class="test"){2}(.*?)</span>但它不起作用。

请不要说不要将 HTML 解析器与正则表达式一起使用。我知道我别无选择。

最佳答案

以下正则表达式:

<span class="test">\s*(.*?)\s*</span>

将产生以下捕获:

        [0] =>   example
[1] => example1
[2] => example2

您可以引用您喜欢的任何一个。

但是,如果由于某种原因你无法引用特定的捕获(我无法想象为什么不可以,所以这有点学术性),那么以下将返回第二个:

<span class="test">(?s).*?</span>\s*<span class="test">\s*(.*?)\s*</span>

注意“单行模式”的使用,由 (?s) 指定。这意味着.还将匹配换行符。在 Java 中,可以通过使用 DOTALL 来启用此功能。如果您使用 .compile() 选项方法。

关于java - 匹配 HTML 正则表达式 java 中的第 n 个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16415860/

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