Java 发现重复<;br>';s介于某个<;span>;

Java 发现重复<;br>';s介于某个<;span>;,java,android,regex,Java,Android,Regex,我有以下HTML字符串: <span class='together'>line one,<br><span class='indent'>line two.</span><br>Line three,<br><span class='indent'>line four,<br>line five,<br>line six,<br>line seven;<br>li

我有以下HTML字符串:

<span class='together'>line one,<br><span class='indent'>line two.</span><br>Line three,<br><span class='indent'>line four,<br>line five,<br>line six,<br>line seven;<br>line eight.<br>Line nine;<br>line ten,<br>line eleven,<br>line twelve.</span><br>Line thriteen,<br><span class='indent'>line fourteen,<br>line fifteen,<br>line sixteen,<br>line seventeen,<br>line eighteen.</span></span>
第一行,
第二行。
第三行,
第四行,
第五行,
第六行,
第七行<第八行。
第九行<第十行,
第十一行,
第十二行。
第三行,
第十四行,
第十五行,
第十六行,
第十七行,
第十八行。
我正在试图找到一个正则表达式,该表达式将查找介于
和关闭
之间的所有

封装了整个sting,应该忽略它

目前我所能做的就是:
*?(
).*?
,这根本不起作用。这个抓取的第一个

之外,然后它跳过了我想要的一堆其他

这可能吗?我应该改为使用
(.*?)\
,然后稍后解析捕获的组吗


正如你所说,我的正则表达式知识非常有限。

在你写的其他答案的评论中

跨距之间的内容将只包含一个

标记,而没有其他HTML

如果前面只有

标记/没有其他标记,请尝试使用。只允许有限的重复,因此需要设置跨度内最大长度的限制

(?s)(?<=<span class='indent'>(?:(?!</?span).){0,9999}?)<br>

(?s)(?一般来说,不要使用正则表达式来解析HTML,使用解析器。您使用的是哪种语言?这很快。感谢@JonathonReinhart:)@hjpotter92在Java中为android应用程序提供的链接。我从JSON转储中获取此内容,然后尝试将(格式化的)字符串放入TextView。Html.fromHtml忽略了跨距,我认为您不能将自己的样式添加到文本视图中以获取跨距。感谢您的工作bobble bubble。我将此标记为正确答案,因为它符合我的要求。然而,解析器可能是解决我的问题的“正确”方法。事实上,我最终使用regex来查找缩进范围的内容,然后做了一些简单的查找并替换了处理
“you're welcome@Ampers,谢谢!”!听起来你找到了解决问题的最佳方法。如果是解析器或正则表达式-我认为这取决于问题以及解析任意html或您自己的html。