Regex 正则表达式不返回2个组

Regex 正则表达式不返回2个组,regex,Regex,我的正则表达式有点问题,不知道是否有人能告诉我该怎么做 基本上,我有一个正则表达式: \[(link='\d+') (type='\w+')](.*|)\[/link] 例如,当我传递字符串时: [link='8' type='gig']Blur[/link] are playing [link='19' type='venue']Hyde Park[/link]" [link='8'type='gig']Blur[/link]正在播放[link='19'type='viouse']Hyde

我的正则表达式有点问题,不知道是否有人能告诉我该怎么做

基本上,我有一个正则表达式:

\[(link='\d+') (type='\w+')](.*|)\[/link]
例如,当我传递字符串时:

[link='8' type='gig']Blur[/link] are playing [link='19' type='venue']Hyde Park[/link]" [link='8'type='gig']Blur[/link]正在播放[link='19'type='viouse']Hyde Park[/link]。” 它只返回一个从开始的
[link]
标记到最后一个
[/link]
标记的匹配项

我只是想知道是否有人能帮我在我的
(.*)
部分中放置什么,一次只选择一个
[link][/link]
部分


谢谢!

正则表达式信息a是一个非常棒的网站。它提供了一个处理html标记的示例。还有一个可以让您开发表达式并实时查看匹配情况的网站。

您需要使用“?”操作符取消通配符选择。我做到了:

/\[(link='\d+')\s+(type='\w+')\](.*?)\[\/link\]/

<>当然,所有的嵌套都会下降,在这种情况下,语言不再是正则的,ReXEX不适合——找到解析器

你需要使你的正则表达式不在贪婪的中间。在正则表达式的味道中查找非贪婪模式的语法和/或标志。如果正则表达式对我的ecmascript大脑有意义…@annakata:我认为这个问题对于你曾经提出的“regexhtmlparserquestions”标签来说是一个合理的选择。-)仍然有一个问题。你仍然可以选择分类学家徽章。:-)