Regex101 与 JavaScript String.match 分歧

2024-01-03

这个正则表达式/{(\w+)}/g应该匹配每个单词字符between大括号{}。相反,我得到了不同的结果Regex101 JavaScript 引擎 https://regex101.com/r/iD4uP6/1 and Chrome 控制台.

Regex101按预期工作,并且.match函数无需g标志,但一旦我应用它,它就无法检索大括号之间的内容(它应该获取["asd","asd2"],而是获取["{asd}","{asd2}"])

为什么会出现这种情况?谢谢!


The String.prototype.match https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match当“g”标志添加到模式中时,函数返回所有匹配项的数组。

你想使用RegExp.prototype.exec https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec获取捕获组的函数:

exec() 保存在 RegExp 对象中找到的匹配项的最后一个索引,并在下次运行它时从那里继续。因此,您需要循环字符串直到函数返回 null 才能获取所有匹配项。

JSFiddle 上的演示 http://jsfiddle.net/mh8g6egx/

var str = "this {is} a {word} {test}";
var re = /{(\w+)}/g;
do{
var res = re.exec(str);
console.log(res);
} while( res );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Regex101 与 JavaScript String.match 分歧 的相关文章

  • javascript 使用 onclick 创建按钮

    我正在尝试使用 javascript 创建一个具有 onclick 事件的按钮 该事件调用 head 中定义的函数 该函数接收相对于按钮的 dom 对象作为参数 我该怎么做呢 ex
  • JavaScript 对象引用缓存

    我们的代码库中有很多对象 它们的名称空间是为了避免冲突 Example App local view MyView 在我在代码库中看到的大多数地方 我们使用完整路径来获取对对象的引用 并且这在同一函数中重复多次 Example functi
  • 如何在光标下的所有元素上调用 mouseover?

    我有一个网络应用程序 每次单击时都会创建一个点 见下文 当我将鼠标悬停在一堆点上时 我希望光标下的每个点都会触发 mouseover 或 mouseenter 事件 然而 只有一个事件被触发 即堆栈 顶部 的点的事件 当鼠标移动到一堆多个点
  • 在javascript中使用“return !0”有什么意义吗?

    如果您转到谷歌结果页面并运行rwt toString 你会看到这个函数的返回调用是 return 0 我想不出任何理由为什么这不会总是如此true 这只是一个简写吗true 还是还有更多事情发生 总是如此 但下载需要 2 个字节 0是 2
  • 如何根据按钮单击折叠和展开 Kendo UI 树视图中的所有树节点?

    这是行不通的 您可以使用此代码 1 崩溃 折叠kendoTree查看文档 http docs kendoui com api web treeview methods collapse treeview kendoTreeView var
  • 通过 SVG 背景传递鼠标事件

    我有两个 SVG 元素 每个元素覆盖整个屏幕 html body height 100 svg position absolute top 0 left 0 bottom 0 right 0
  • 来自 DataURL 的 Blob?

    Using FileReader s readAsDataURL 我可以将任意数据转换为数据 URL 有没有办法将数据 URL 转换回Blob使用内置浏览器 API 的实例 用户 Matt 一年前提出了以下代码 如何在javascript中
  • 在 asp.net vb 中通过第一个下拉列表值填充第二个下拉列表

    我在使用 asp net vb 时遇到了一些问题 我想做的是有2个下拉框 第一个下拉菜单将有 1 2 3 例如 第二个下拉菜单将有 A 乙 C 默认情况下 但是 如果选择 1 我希望第二个下拉菜单自动选择 c 我不知道 JavaScript
  • jQuery 的 css() 在应用于滚动事件时滞后

    我正在尝试实现一个简单的 固定标题 表 我知道这在理论上只能用 CSS 来完成 但是当涉及到 OSX Lion 及其消失的滚动条时 它效果不佳 所以我用 jQuery 来做 方法很简单 只有1 5行代码 inbox scroll funct
  • 是否可以将反应组件导出为非反应项目中的函数

    有没有办法在非 React 项目中将 React 组件导出为函数并传入 props 作为函数的参数 我最近用 create react app 完成了一个 React 项目 现在我想将它用于其他非 React 项目 纯 Javascript
  • Python 正则表达式部分匹配或“hitEnd”

    我正在编写一个扫描器 因此我将任意字符串与正则表达式规则列表进行匹配 如果我可以模拟 Java hitEnd 功能 不仅知道正则表达式何时不匹配 还知道何时匹配 这将非常有用 can t匹配 当正则表达式匹配器在决定拒绝输入之前到达输入末尾
  • jQuery Blur() 在 Chrome 上不起作用

    我在 MacOSX 上运行这个http jsfiddle net q84wv http jsfiddle net q84wv on Chrome最新版本 它不会工作 在 Firefox 上运行时它工作得很好 有什么线索吗 假设您想要aler
  • 使用 jQuery 仅从字符串末尾修剪空格

    我知道 jQuery trim 函数 但我需要的是一种仅从字符串末尾修剪空格的方法 而不是开头 So str this is a string 会成为 str this is a string 有什么建议么 Thanks 您可以使用正则表达
  • 光滑的轮播缓动示例

    我正在使用 Slick Carousel http kenwheeler github io slick http kenwheeler github io slick 但不知道如何合并不同的幻灯片切换 有人有例子可以分享吗 这是我目前拥有
  • 点击问题:动态生成的链接不触发点击功能

    下面是两个代码片段 由于某种原因什么也没有发生 但来自同一个 JS 文件的其他 jQuery 函数在带有 UL 的页面上执行得很好 这是在盯着我看吗 ul class paganation li 1 li li a href 2 a li
  • 空 URL 哈希导致页面在 js 事件上跳转

    我有一个带有下一个和上一个按钮的照片库 如果我的某个 javascript 方法由于某种原因被破坏 那么当单击其中一个按钮时 它会向 url 添加一个哈希值 即 www google com 我知道可以给散列一个 div id 来跳转到页面
  • Javascript 选择 onchange='this.form.submit()'

    我有一个带有选择和一些文本输入的表单 我希望在更改选择时提交表单 使用以下方法可以正常工作 onchange this form submit 但是 如果表单还包含提交按钮 则当选择更改时 表单不会提交 我猜有某种冲突 我在这里有什么选择
  • 如何在 angularjs 中修剪()字符串?

    有角度特定的方法吗 如果没有 我应该使用内置的jquery 来做到这一点吗 如果我应该使用内置的jquery 如何在不使用 的情况下访问trim 函数 或者这是必要的 编辑 是的 我知道 str trim 对不起 我需要这个才能在 IE 8
  • ThreeJS无法加载Json文件

    首先 我已经读过这个问题 https stackoverflow com questions 17201888 three js exporter export object not working with jsonloader r58没
  • Dojo/on 和捕获阶段

    有没有办法用 dojo on 在捕获阶段 而不是冒泡阶段 触发事件 我最终在这里寻找有关 on 的前身 dojo connect 的信息 就其价值而言 dojo connect 似乎不支持捕获阶段的事件侦听器 它的工作原理是将事件处理程序作

随机推荐

  • 如果在外部单击则隐藏/切换

    我在这里使用这个模板 http startbootstrap com templates simple sidebar html http startbootstrap com templates simple sidebar html 为
  • 如何在 Android 中安排通知

    我正在尝试在将来的某个时间设置通知 我有创建通知的代码 但找不到安排通知的选项 我如何安排通知 不适用于奥利奥 编辑 上面的答案都很好 但不考虑用户重启设备的可能性 这会清除 AlarmManager 安排的 PendingIntent 您
  • Gradle - 仅在目录中的代码发生更改时才执行任务

    我有一个创建 100MB JAR 的 Gradle 任务 现在我只想将它创建为我的一部分gradle build如果项目内的代码已更改 例如特定的 src目录 所以目前 build gradle kts 看起来像 tasks shadowJ
  • 未收到数据时向 Node.js 流添加“静默帧”

    我正在使用 Node js 创建一个 Discord js 机器人 该机器人在语音通道中记录用户的音频 它加入一个频道并开始分别收听每个用户的声音 它记录到 pcm 文件 因此只有原始数据 现在 这可行了 但 Discord 音频流的性质导
  • CSS 像素可以是分数吗?

    可以CSS吗px是分数吗 标准允许吗 如果是这样 主要浏览器是否支持它 伙计们 让我们用文档来支持答案 是的 您可以指定分数像素 由于从第一个版本开始这就是 CSS 的一部分 因此任何支持 CSS 的浏览器都应该很好地支持它 参考 CSS
  • Azure blob 到 Azure SQL 数据库:无法批量加载,因为无法打开文件“xxxx.csv”。操作系统错误代码5(访问被拒绝。)

    我正在尝试在 azure sql 数据库中批量加载 azure blob 存储中的一些数据 文件内容为 customer age gender C1093826151 4 M C352968107 2 M C2054744914 4 F 该
  • 垂直堆叠 md-chips Angularjs

    我正在 AngularJS 中测试 md chips 指令 有没有办法垂直堆叠 芯片 而不是水平附加芯片 我一直在尝试这里找到的演示 https material angularjs org latest demo chips https
  • .htaccess 重写条件尾部斜杠仅适用于特定目录

    我有一条非常有效的规则 它为我网站上的每个目录添加了一个尾部斜杠 如何仅为某些目录 例如 courses 添加尾部斜杠 我不希望每个目录 路径都有一个尾部斜杠 RewriteCond REQUEST URI RewriteRule http
  • 如何将可选参数传递给 bash 脚本中的另一个命令?

    我正在编写一个 bash 脚本 它接受一些可选参数 我想翻译它们并将它们传递给另一个脚本 但是 我很难优雅地传递可选参数 以下是我设法用伪代码完成的工作的概述 a sh if arg1 in arguments then firstArg
  • 标准 ada 包含路径是什么

    我在使用 apt get 安装的 Ubuntu 上使用 gnat 4 6 我需要知道在哪里安装下载的库 例如APQ http sourceforge net projects apq 我应该设置什么ADA INCLUDE PATH and
  • Swift 2.0 复制 OBJC_ASSOCIATION_RETAIN

    我正在扩展 Swift 2 0 中的一些类以与 ReactiveCocoa 3 0 swift 2 0 分支 一起使用 但遇到了一些麻烦 我已经关注科林了艾伯哈特的教程 http blog scottlogic com 2015 05 15
  • Flutter 使用 http 响应头缓存 JSON 响应

    我正在尝试为服务器 JSON 响应创建和使用缓存 像齐射响应缓存之类的东西 https stackoverflow com a 32022946 1993001 https stackoverflow com a 32022946 1993
  • 在 Mac 上创建 SQL 数据库

    我想在我的 Mac 上创建 SQL 数据库 我想知道我可以用来创建 操作它的最佳软件是什么 任何建议将不胜感激 Postgres Postgres http www postgresql org 是一个成熟的重型企业级数据库系统 Postg
  • 是否可以仅捕获屏幕的一部分,甚至捕获另一个应用程序的特定视图?

    Android 允许使用 MediaProjection 类 如图所示 将全屏捕获为图像或视频here https github com mtsahakis MediaProjectionDemo例如图像 我想知道我们能走多远 是否可以仅捕
  • 如何将 findbugs @Nonnull 与外部库一起使用?

    我开始使用 findbugs Nonnull and CheckForNull在现有项目上添加注释 以防止 NPE 并且认为它效果很好 我用 Nonnull作为返回类型和参数的默认值 只需添加默认值 就已经发现了一些 NPE 现在我找到了类
  • 代理密钥、合成密钥和人工密钥之间有区别吗?

    代理密钥 合成密钥和人工密钥之间有什么区别吗 我不清楚具体的区别 代理密钥 合成密钥和人工密钥是同义词 技术关键是另一个 它们的意思都是 没有商业意义的主键 它们与自然密钥或业务密钥不同 后者的含义超出了当前系统的范围 例如 考虑 SO 用
  • span 和 label 标签之间的渲染差异是什么?

    所以我理解跨度和标签标签之间的功能差异 但是标签之间似乎也存在渲染差异 我似乎无法弄清楚它是什么 有谁知道span和label之间的渲染差异 谢谢 除了默认的渲染样式 标签有时在某些浏览器中为粗体 之外 重要的区别是标签应该链接到表单字段
  • 在 JavaFX 中使用数据库填充表视图

    我开始学习 javaFX 我需要用数据库中的数据填充表 我在网上阅读了很多代码 但没有找到我想要的东西 我读this http pastebin com S0Fg9jK8但我不知道如何实现最后一个功能 我阅读了一些其他代码来做到这一点 到目
  • Java:实现无符号 128 位整数

    首先我应该问 有谁知道 Java 的当前实现 128b UINT 吗 我需要一些东西来保持自然的基本价值观 即 一个巨大的柜台 我知道 BigIntegers 它很慢而且不可变 128b UINT 有意义 我正在考虑使用一对原始长整型来实现
  • Regex101 与 JavaScript String.match 分歧

    这个正则表达式 w g应该匹配每个单词字符between大括号 相反 我得到了不同的结果Regex101 JavaScript 引擎 https regex101 com r iD4uP6 1 and Chrome 控制台 Regex101