JavaScript 正则表达式

标签 javascript regex

我有一个像这样的字符串:02-09-10, 20:19 (1 dagen geleden)。我需要括号内的 1。我使用了这个正则表达式:

myStr.replace(/(.+*)\(([0-9]{1,}) dagen geleden\)/i, '$2')

但这不起作用...该怎么办?

问候,渡渡鸟

最佳答案

(.+*) 无效。您需要 (.+?) 来代替。并使用 .matchre.exec 来获取子字符串,而不是 .replace

如果有多次出现:

var rx = /\((\d+) dagen geleden\)/g;
var res = [];
while((m = rx.exec(myStr))) {
  res.push(m[1]);
}
return res;

否则,只需使用:

var m = myStr.match(/\((\d+) dagen geleden\)/);
if (m)
  return m[1];
else {
  // not found.
}

关于JavaScript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3642243/

相关文章:

javascript - 无法在每个屏幕中将内容部分居中以实现全屏无滚动网站

javascript - indexOf() 仅适用于数组中的单个值

regex - 在 Perl 中使用 Regex 查找空字符

Javascript .replace() 替换所有出现的/

javascript - 减少不删除正确的数组项

针对 REGEXP 的 Mysql 优化

javascript - 在 Angular Gauge Highchart 中显示类别并删除数字

javascript - 如何在点击匹配游戏时存储和比较两个元素?

javascript - 多个提供商 Angular 2 测试床

java - 正则表达式限制重复类子字符