我需要一些帮助编写正则表达式语句来拆分包含一些标签的字符串(不是真正的HTML,我只是使用<i>
和<b>
标签来格式化一些文本),并保持分隔符。例如,这个字符串:
<b>a bold quote:</b> this is some sample test. How <i>do</i> I do this?
将转变为:
<b>a bold quote:</b>
this is sample text. How
<i>do</i>
I do this?
答案 0 :(得分:5)
对于大多数正则表达式,您可以通过将拆分表达式放在捕获组中来做一些事情。
new Regex("(<[^>]+>)").Split("test <b>string</b>")
生成一个包含项目
的数组test
<b>
string
</b>
(最后是一个空字符串)
如果你想找到标签内的东西,并且它们肯定没有以任何方式嵌套,你可以做到
new Regex("(<[^>]+>[^<]*</[^>]+>)").Split("test <b>string</b>")
=
test
<b>string</b>