1
我有以下正则表达式应该匹配所有围绕它们的括号(包括括号)的单词,但它只匹配一个案例。我究竟做错了什么?正则表达式 - 匹配括号中的所有单词
"(e), (f), and (g)".match(/\(\w+\)/)
=> #<MatchData "(e)">
输出应该是:
=> #<MatchData "(e)", 1: "(f)", 2: "(g)">
我有以下正则表达式应该匹配所有围绕它们的括号(包括括号)的单词,但它只匹配一个案例。我究竟做错了什么?正则表达式 - 匹配括号中的所有单词
"(e), (f), and (g)".match(/\(\w+\)/)
=> #<MatchData "(e)">
输出应该是:
=> #<MatchData "(e)", 1: "(f)", 2: "(g)">
使用scan()
代替。它返回一个包含所有匹配项的数组。 match()
只会返回第一个匹配项。
"(e), (f), and (g)".scan(/\(\w+\)/)
正是我在找的东西。完全忘了'scan()'。 – 2014-08-28 15:40:58
不是Ruby编码器,而是你尝试['scan()'](http://stackoverflow.com/a/80387/1438393)而不是? – 2014-08-28 15:30:08
请注意,如果有非机会可能需要使用表达式['/\([^)]+\/'](http://www.rubular.com/r/SkpBW6ghDC) \ w'字符。 – Sam 2014-08-28 15:33:00
第一场比赛后红宝石'比赛'停止吗?是否需要全球标志'/ g'? – sln 2014-08-28 15:35:38