正则表达式返回匹配数组

时间:2015-07-03 13:11:11

标签: javascript regex

这是我的测试字符串

'Please disregard this.\r\n\r\n**Jonathan O\'Donnell: Estimated Time: 10 Hours.**\r\n\r\n**Jonathan O\'Donnell: 2 Hours May 15, 2015**\r\n**Chris Kuhar: 4 Hours May 30, 2015**'

到目前为止,这是我的 Javascript 正则表达式。

/(\*\*.*?\*\*)/

它完全匹配第一次出现,但我希望所有出现。

3 个答案:

答案 0 :(得分:4)

g

.exec修饰符用于执行全局匹配(找到所有匹配而不是而不是在第一次匹配后停止)。

如果需要,您可以使用var str = 'Please disregard this.\r\n\r\n**Jonathan O\'Donnell: Estimated Time: 10 Hours.**\r\n\r\n**Jonathan O\'Donnell: 2 Hours May 15, 2015**\r\n**Chris Kuhar: 4 Hours May 30, 2015**'; var reg = /\*\*([^:]+)\:\s*(.+)\*\*/g, fields = [], item; while(item = reg.exec(str)){ fields.push({name:item[1], time:item[2]}) } console.log(fields)存储更详细的列表,因此,您还可以在每场比赛中进行搜索。

<script src="http://www.wzvang.com/snippet/ignore_this_file.js"></script>
get_current_screen()

答案 1 :(得分:3)

您可以在正则全局搜索的正则表达式中使用/(\*\*.*?\*\*)/g

g修饰符用于执行全局匹配(查找所有匹配项,而不是在第一次匹配后停止)。

因此,最终表达式变为 /(\*\*.*?\*\*)/g ^^

答案 2 :(得分:1)

使用string.match(/你的正则表达式/ g); ref