Javascript 反向引用后跟数字

2023-11-24

如果我有一个包含 13 个捕获组的正则表达式,我将如何指定包含第一个反向引用后跟文字“3”的替换字符串?

var regex = /(one)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)/;
"one2345678910111213".replace(regex,"$13");
//Returns "13". How do I return "one3"?

我能找到的最接近的问题是this one,但它属于 perl 并且不包含硬编码文字。

还看了docsMDN 上,但示例中没有明确说明或演示任何内容。


接得好!我能想到的唯一解决方案是:

var regex = /(one)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)/;
"one2345678910111213".replace(regex, function(match, $1) { return $1 + "3"; } );

EDIT我查了一下ECMAScript 规范看起来这不需要回调也是可能的。一些 RegExp 替换引擎——例如 Python——有一个\g构造(对于“组”),您可以在其中使用类似的东西\g{1}3在替换字符串中;但 JavaScript 只是使用$nn。也就是说,如果您有超过 9 个捕获组,则可以使用两位数的反向引用来消除歧义,如下所示:

"one2345678910111213".replace(regex, "$013" );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 反向引用后跟数字 的相关文章

随机推荐

  • 用 Javascript 编写组合和排列计算器的最有效方法

    我有一个数学网站http finitehelp com教学生有限数学 我认为包含一个计算器会很酷 所以我制作了一个用于 Javascript 中的组合和排列的计算器 实时计算器位于http finitehelp com finite cal
  • pySpark forEachPartition - 代码在哪里执行

    我正在使用 2 3 版本的 pySpark 在我当前的开发系统中无法更新到 2 4 并且有以下关于对于每个分区 首先是一些背景信息 据我了解 pySpark UDFs强制 Python 代码在 Python 实例中的 Java 虚拟机 JV
  • Rails 中带有 jquery params 的 link_to

    我想在我的 Rails 应用程序中进行就地搜索 我使用了带有原型的button to remote 但现在我使用的是JQuery 所以我更改为link to 这是我的代码 我想将地址文本字段传递到我的控制器 但输出不是我所期望的 mycon
  • DataGridView设置行高不起作用

    尝试像这样设置 RowHeight 在代码中 dgvTruckAvail RowTemplate Height 48 不起作用 我还尝试设置我添加的每一列的高度 不起作用 这是网格属性 this dgvTruckAvail AllowUse
  • d3.js 使用多列从 csv 文件中过滤

    我想使用 csv 中的多个列值进行过滤 我首先想按城市过滤 然后按关键性列过滤 我想过滤重要性 高 中 低 如何使用 AND OR 进行过滤 City 和 Criticality 是复选框 根据我想要过滤相应 csv 列中的数据的选择 寻找
  • 如何在 32 位平台上调用 GetWindowLongPtr 和 SetWindowLongPtr?

    我想 P 调用获取窗口长指针 and 设置窗口长指针 并且我看到有关它们的相互矛盾的信息 有消息称 在 32 位平台上 GetWindowLongPtr 只是一个调用 GetWindowLong 的预处理器宏 并且 GetWindowLon
  • Java:如何设置 htmlunit

    我对 Java 是个菜鸟 但我想尝试一下 htmlunit 我使用 netbeans 作为 IDE 并创建了一个项目文件夹 hu1 以下是该文件夹的结构 hu1 gt nbproject gt src gt hu1 gt test 现在 我
  • 带有共享 ID 的 JPA @OneToOne —— 我可以做得更好吗?

    我正在使用一个我不想更改的现有架构 该架构在表 Person 和 VitalStats 之间具有一对一的关系 其中 Person 有一个主键 VitalStats 使用相同的字段作为 Person 的主键和外键 这意味着它的值是相应 PK
  • 如何处理 FirebaseAuthUserCollisionException

    我开始得到FirebaseAuthUserCollisionException当我尝试登录时出现异常Facebook in my Android应用 com google firebase auth FirebaseAuthUserColl
  • 如何将形状文件导入MySQL

    我需要将 shape 文件中的空间数据导入 MySQL 表中 我能够导入到 PostGreSQL 中 MySQL 的任何指针 我需要MySQL表中的数据 安装 FWtool 后尝试此操作 ogr2ogr f MySQL MySQL data
  • 为什么存在这些替代运算符表示

    考虑这些替代运算符表示 取自here Primary Alternative and and eq bitand bitor compl not not eq or or eq xor xor eq 为什么存在这些替代运算符表示 我喜欢它们
  • dplyr:在 mutate 命令中使用过滤器、group_by [重复]

    这个问题在这里已经有答案了 我想在数据表中添加一列 其中包含 y 的每个值除以 x 1 或 2 中相应条件的平均值 其中 x2 1 对于以下数据 其中 x 1 y 应除以 1 4其中 x 2 y 应除以 1 dt1 lt data tabl
  • Python:Rabin-Karp 算法哈希

    我为了好玩而实现 Rabin Karp 算法 我遇到了这个伪代码 RABIN KARP MATCHER T P d q 1 n T length 2 m P length 3 h d m 1 mod q 4 p 0 5 t 0 6 for
  • 测试rxjs的正确方法

    我把书带来了 rxjs 在行动 并完成测试部分 测试 rxjs 代码与通常的测试不同 因为一切都是延迟加载 在书中 他们提到了两种测试方法 要么传递完成 我正在使用 QUnit 完成信号异步代码已完成 要么传递大理石图 我的问题是 我应该选
  • 在 PHP Web 应用程序中使用时区

    我已经花了几个小时寻找在 PHP MySQL Web 应用程序中使用时区的最佳方法 但很难找到明确的答案 根据我到目前为止所学到的 最好将每个人的资料存储在 UTC 的数据库中 如果我错了 请纠正我 当用户注册时 我会询问他们所在的时区 然
  • 如何使用变量名称引用工作表上的控件对象?

    我已将列表框添加到工作表 而不是 用户表单 我用鼠标做到了这一点 我单击了小锤子和扳手图标 使用如下代码似乎可以轻松引用此列表框 ListBox1 Clear or ListBox1 AddItem An option 但是 我有三个这样的
  • 将活动标题椭圆设置为中间?

    我有一个活动 其标题不断变化 但有时它很长 最后会出现省略号 我可以将椭圆设置为中间吗 你可以这样做 final int actionBarTitle Resources getSystem getIdentifier action bar
  • 将字节数组输出转换为 Blob 会损坏文件

    我正在使用 Office Javascript API 来使用 Angular 编写 Word 插件 我想通过 API 检索 Word 文档 然后将其转换为文件并通过 POST 上传到服务器 我使用的代码与 Microsoft 为此用例提供
  • 如何向 Linq 结果添加索引字段

    假设我有一个像这样的数组 string Filelist 我想创建一个 Linq 结果 其中每个条目都有其在数组中的位置 如下所示 var list from f in Filelist select new Index something
  • Javascript 反向引用后跟数字

    如果我有一个包含 13 个捕获组的正则表达式 我将如何指定包含第一个反向引用后跟文字 3 的替换字符串 var regex one 2 3 4 5 6 7 8 9 10 11 12 13 one2345678910111213 replac