我有一个文本,我想使用正则表达式模式将文本分组。
以下是我可以提供的文字示例:
Some text...
<style id=1>Header</style>
Some other text...
<style id=2>
- Bullet 1
- Bullet 2
</style>
Trailing text...
要求:
我目前正在使用这种模式:
(?<prefix>[\s\S]*?)<style id=(?<id>[0-9]+)>(?<content>[\s\S]*?)</style>
目前,我使用此模式进行了两场比赛,其中包括:
[prefix]: Some text...
[id]: 1
[content]: Header
[prefix]: Some other text...
[id]: 2
[content]:
- Bullet 1
- Bullet 2
我无法创建一个能够捕获“尾随文本...”的组。我试过但是当我在模式的末尾添加一个组时,它只返回一个匹配,并且它的前缀包含第一个标记。
任何想法??
由于
答案 0 :(得分:0)
您可以使用*
重复整个模式,然后添加与所有内容匹配的内容。
((?<prefix>[\s\S]*?)<style id=(?<id>[0-9]+)>(?<content>[\s\S]*?)</style>)*(?<suffix>[\s\S]*)