捕获正则表达式重复

Kud*_*udu 4 ruby regex

我有一个正则表达式\[\[(.+)\]\].我用它来捕获wikilinks hey I [[am]] so awesome(捕获am).我怎么能修改这个以便同时hey I [[am]] more [[awesome]] than you think产生am和awesome?我的尝试产生了单个字符串,如am]] more [[awesome.一点上下文:我用它来编写一个Ruby IRC bot.

PS Wikilinks也可以是多字的 hey I am much [[more awesome]] than you [[probably think]].

Mat*_*Mat 10

你需要做.+非贪心:

\[\[(.+?)\]\]
Run Code Online (Sandbox Code Playgroud)

请参阅此参考:ruby regexen.


How*_*ard 5

您可以使用非贪婪版本,例如\[\[(.+?)\]\](注意问号).