我要检测并从字符串中提取一组重复的字符,并列出每个捕获组的一部分。
以下是要解析的字符串示例:“za ee 开始 Good1 结束 ds q 开始 Good2 结束 sds df“
我的正则表达方式是:“.*?(?::Start(.+)End.*?)+
”
期望抓取预期的群组:Good1
,Good2
,etc
我的正则表达式捕获错误:似乎(?::Start(.+)
被视为要捕获的组......
我可以错过什么吗? 谢谢!
答案 0 :(得分:0)
为什么不使用这种模式:\*{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
答案 1 :(得分:0)
这个正则表达式完成了这项工作:
/(?<=Start)(.+?)(?=End)/g