Java 用于拆分降价的正则表达式(Android)

Java 用于拆分降价的正则表达式(Android),java,android,regex,regex-lookarounds,lookbehind,Java,Android,Regex,Regex Lookarounds,Lookbehind,因此,我在MarkDown中有一些文本,我想在标题之间拆分为一个字符串数组,但包括标题之间的内容。 因此,对于以下示例: **Header 1**Lots of text here.\n**Header 2**More and more text here..\n**Header 3** etc.. 最后,我希望得到一系列: **Header 1**Lots of text here.\n **Header 2**More and more text here..\n **Header 3**

因此,我在MarkDown中有一些文本,我想在标题之间拆分为一个字符串数组,但包括标题之间的内容。 因此,对于以下示例:

**Header 1**Lots of text here.\n**Header 2**More and more text here..\n**Header 3** etc..
最后,我希望得到一系列:

**Header 1**Lots of text here.\n
**Header 2**More and more text here..\n
**Header 3** etc..

我尝试的是(?你可以尝试这个基于lookaheads的正则表达式来匹配:

((?:\*\*.+?(?=\*\*|$)){2,})
  • (?=\*\*\\*\$)
    是一个积极的前瞻断言,用于匹配任何文本,直到我们到达
    \*\*
    或行尾
  • {2,}
    的范围将确保匹配文本中至少有两个
    **
  • 捕获的组#1会告诉你你感兴趣的文本吗

检查此项:

(*{2}.+?*{2}.*?(=*{2}|$)/gi

它获取2对**和其后的文本之间的所有内容,直到找到另一个**或行的末尾。保持$condition以捕获最后一组(当您没有任何标题时)非常重要

演示:

你的字符串是否有
\n
它可以自动取款机,但不保证我可以在运行中测试正则表达式。有了这个网站,调试正则表达式非常容易。感谢响应伙伴,这正是我想要的,除了,asterrisk之间的头可以是任何文本,头只是头文本的一个示例在这种情况下,我我会改变一点匹配的方式。现在它应该捕捉到你想要使用的任何文本,而不是“标题”。我很感激你的回复,但是问题是,在Asterrisk之间的标题可以是任何文本,标题只是标题文本的一个例子