正则表达式:具有重复结束模式的Split String

时间:2017-04-25 09:55:46

标签: regex apex

字符串的次要更新,因为我没有在第一次清楚地说明问题陈述。

我有一个字符串:'( 5m 3s ) John: Hi <br> Hello <br>( 6m 2s ) Jane: Hello<br>'

我正在尝试匹配字符串以将每条消息提取为每行1行。

1st group: ( 5m 3s ) John: Hi <br> Hello <br>
2nd group: ( 6m 2s ) Jane: Hello<br>

有人可以为正则表达式提供建议吗? 这就是我目前正在尝试使用的,我无法告诉正则表达式中的最后一个突破:

(.*?).*?:.*?<br>

1 个答案:

答案 0 :(得分:1)

我认为,实际的分隔符模式是&#34; <br>后跟一个开始的圆括号&#34;。

匹配的通用方法&#34;后面跟着......&#34;是使用正向前瞻构造((?=...)):

\(.*?\).*?:.*?<br>(?=\(|$)

我们限制我们的<br>仅在其后跟(或字符串结尾时才匹配。

请注意,应该转义括号;否则他们定义一个捕获组(或一些其他特殊的正则表达式构造,具体取决于打开后的内容。)

演示:https://regex101.com/r/YBay3w/1