如何在 Regex 中捕获重复组(对于 C#)
How to capture repeating groups in Regex (for C#)
我必须检测并从字符串中提取一组重复的字符,并列出每个捕获组的一部分。
下面是要解析的字符串示例:"za e eStartGood1Endds qStartGood2Endsds df"
我的正则表达式是:“.*?(?::Start(.+)End.*?)+
”
预期捕获的组预期:Good1
、Good2
、etc
我的正则表达式捕获是错误的:似乎 (?::Start(.+)
被认为是要捕获的组...
我可以错过什么吗?
谢谢!
为什么不使用这个模式:\*{2}Start\*{2}(.*?)\*{2}End\*{2}
对于此输入字符串:za e e**Start**Good1**End**ds dq**Start**Good2**End**sds df
,它捕获 Good1
和 Good2
。
你可以在这里玩:https://regex101.com/r/dG0dX6/2
这个正则表达式可以完成工作:
/(?<=Start)(.+?)(?=End)/g
我必须检测并从字符串中提取一组重复的字符,并列出每个捕获组的一部分。
下面是要解析的字符串示例:"za e eStartGood1Endds qStartGood2Endsds df"
我的正则表达式是:“.*?(?::Start(.+)End.*?)+
”
预期捕获的组预期:Good1
、Good2
、etc
我的正则表达式捕获是错误的:似乎 (?::Start(.+)
被认为是要捕获的组...
我可以错过什么吗? 谢谢!
为什么不使用这个模式:\*{2}Start\*{2}(.*?)\*{2}End\*{2}
对于此输入字符串:za e e**Start**Good1**End**ds dq**Start**Good2**End**sds df
,它捕获 Good1
和 Good2
。
你可以在这里玩:https://regex101.com/r/dG0dX6/2
这个正则表达式可以完成工作:
/(?<=Start)(.+?)(?=End)/g