这是我的测试字符串
“请忽略此。\r\n\r\n**Jonathan O\'Donnell:预计时间:10 小时。**\r\n\r\n**Jonathan O\'Donnell:2 小时 5 月 15 日, 2015**\r\n**克里斯·库哈尔:2015 年 5 月 30 日 4 小时**'
这是迄今为止我的 Javascript 正则表达式。
/(\*\*.*?\*\*)/
它与第一次出现的情况完美匹配,但我想要所有出现的情况。
最佳答案
/(\*\*.*?\*\*)/g
^^
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>
关于javascript - 正则表达式返回匹配数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31207702/