javascript - 使用正则表达式匹配多个结果

标签 javascript regex

您好,我想通过 javascript 中的正则表达式匹配多个结果,我尝试了下面的代码。我只想匹配选项旁边的数字。

/Option\("(\d+)"/g.exec(string)

上面的结果只返回1个结果,我在stackoverflow中搜索,他们告诉我使用match,所以我尝试了下面

string.match(/Option\("(\d+)"/g);

上面返回了多个结果,但带有完整的字符串,我只想要所有可用的(\d+)部分。

编辑:输入字符串位于下面

var o = 'new Option("26500","26,500.00" ); var o = new Option("26700","26,700.00" ); var o = new Option("26800","26,800.00" )';

最佳答案

您可以对要捕获的数字后面的字符使用正向前瞻,以使用 String.match 获取所有结果:

(\d+)(?="\s*,\s*")

如果您有支持lookbehinds的JavaScript版本,您还可以使用正向lookbehind:

(?<=Option\(")(\d+)

regex101.com上的lookbehind演示

const str = 'new Option("26500", "26,500.00" ); var o = new Option("26700" ,"26,700.00" ); var o = new Option("26800","26,800.00" )';
const re = /(\d+)(?="\s*,\s*")/g;
console.log(str.match(re));

关于javascript - 使用正则表达式匹配多个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54849231/

相关文章:

java - 用于在 android 中读取 SRT 文件的正则表达式

Javascript 正则表达式 - 删除除分号外的所有特殊字符

javascript - 如何在 jquery 代码行中添加样式?

javascript - 显示两个 jQuery 叠加层

javascript - Vue 计算数组中重复项的方法

regex - R 相交字符串

javascript - 使用Javascript获取Web元素的名称

javascript - 如何在 HTML 文件中使用 svg 突出显示整个 map ?

javascript - 正则表达式惰性模式无法按预期工作

python - 正则表达式查找字符串python