使用 javascript 正则表达式替换和增加整数值

2023-11-29

给定以下字符串

XXXX Units[4].Test XXXX

我想替换每次出现的Unit[x] with Unit[x+1].
我正在尝试使用正则表达式来实现此目的,如名称所示Units需要首先进行字面匹配。

我正在尝试这样的事情:

test.replace(/(?:Units\[|\_+)(\d+)/g, function(m, i) { return parseInt(m) + 1 })

我的问题是,如果没有积极的回顾,我似乎无法仅匹配数字。我正在尝试以只有数字构成捕获组的一部分的方式构建正则表达式,因此我可以替换它们。

在 C# 中很容易做到,但 javascript 匹配函数的工作方式略有不同。

尽管非捕获规范(?: the Units[似乎构成了比赛的一部分。由于javascript不支持后视,我不知道如何完成这个。


您需要对编号之前的部分进行分组,并在稍后的替换中使用该反向引用:

test = test.replace(/(Units\[)(\d+)/ig, function($0, $1, $2) {
      return $1 + (parseInt($2)+1); })

//=> XXXX Units[5].Test XXXX

注意使用$1 and $2在回调函数中,其中$1代表价值Units[ and $2是它后面的数字。

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

使用 javascript 正则表达式替换和增加整数值 的相关文章

随机推荐

  • 单击后如何保持菜单链接突出显示(粗体和蓝色)?

    我的页面上有一个标题菜单 www wortwaerts net 在下面的代码的基础上工作正常 除了一个问题 到目前为止我找不到解决方案 我希望最后单击的菜单链接保持突出显示 粗体和蓝色 直到选择另一个链接然后将以同样的方式突出显示 我已经研
  • 如何在 Julia 中进行正确的微基准测试?

    朱莉娅 1 0 0文档提供一般提示 它还建议不要使用 time 宏 对于更严格的基准测试 请考虑 BenchmarkTools jl 包 其中多次评估函数以减少噪音 它们在使用中的比较如何 是否值得麻烦地使用 基础 Julia 中没有的东西
  • Google Apps 脚本错误 - 需要授权才能执行该操作

    我创建了一个 Apps 脚本来替换 Google Doc 中的令牌 此应用程序脚本已部署为 API 可执行文件 我可以在应用程序脚本编辑器中运行函数 而不会出现任何授权错误 但是 当从我的 java web 应用程序调用时 它有时会失败并出
  • 如何在c#.net中动态创建的按钮上执行点击事件

    我正在尝试构建一个应用程序 用户可以在其中选择类别并根据它显示其子类别 这些子类别是动态创建的按钮 现在 由于按钮是动态创建的 所以我很困惑如何在button click事件下编写代码 因为我不知道有多少子类别 那么有什么方法可以执行特定按
  • Xcode 9 Beta - 编辑器,列选择不见了?

    在以前版本的Xcode中 我们可以按住Alt Option键 拖动鼠标来选择文本编辑器中的列 在 Xcode 9 Beta 中这似乎不起作用 现在已经消失了 还是有不同的组合键 有任何想法吗 根据 Xcode 9 发行说明 这是一个缺失的功
  • 在 Microsoft Visual Studio 2015 中重新定义 C/C++ 入口点

    事情是这样的 伙计们 我在尝试使程序的入口点不被调用时遇到了麻烦main早些时候 在 Visual Studio 2012 中这非常简单 我只是使用 ENTRY链接器的密钥或我的项目的相同设置 项目 gt project name 属性 g
  • 如何在 CakePHP 中为一个模型动态使用多个数据库

    好吧 我的第一个问题被修改了很多次 所以我选择删除它并重新表述我的问题 我制作了一个具有不同模型名称的小型测试用例项目 以找到适合我的问题的解决方案 Warning 不要混用数据库与tables 动机 我将用户数据分成多个数据库对于法律和绩
  • 使用 ado 和 vbscript 从 csv 更新数据库而不需要记录集循环?

    我想使用 Vb 脚本和 ADO 将 csv 文件中的数据上传到 Access 数据库 这样我就不必打开 Access 或 Excel 到目前为止 我在下面有一个工作脚本 但是有没有更好的方法来批量上传数据 而无需创建记录集并循环每条记录 我
  • 是什么原因导致 ClickOnce URLDownloadToCacheFile 在安装过程中失败?

    通过 Firefox 安装 ClickOnce 应用程序时出现以下错误 在同一台计算机上使用 IE 则不会发生这种情况 我发誓我以前通过 firefox 安装过它 这是一台 Windows 7 机器 The following proper
  • 在 Windows 应用商店应用程序 WebView 中通过请求发布数据 - 使用 C#

    我的应用程序中有以下场景 首次启动时 用户可以注册一个帐户 然后 应用程序从我的网络服务器获取一对 int user id string session id 并将该数据存储在应用程序中 在我的应用程序中 我使用 WebView 它可以让用
  • 如何将数组中的每个元素转换为自己的数组?

    使用 Ruby 2 4 我有一个字符串数组 a b c 如何获取上述内容并将每个元素转换为它自己的一个元素数组 所以我希望这样的操作的结果是 a b c 您可以使用zip a b c zip gt a b c
  • ASP.NET 中的批量 301 重定向,包括需要根据查询字符串参数重定向到不同位置的页面

    我们网站的多个页面使用旧的非 SEO 友好 URL 进行索引 例如http www domain com DocumentDetails aspx id 555 最近 我们实现了使用存储在数据库中的 slug 的路由 并查找 slug 以使
  • C#读取USB设备序列号

    有没有办法使用 Visual Studio 2005 读取 USB 设备序列号和 USB 文本文件中的数据 尝试这个 USBSerialNumber usb new USBSerialNumber string serial usb get
  • 部署gae java时如何设置版本?

    由于 Intellij Idea IDE gae 部署插件不起作用 我必须使用mvn appengine update 它始终部署到版本 1 忽略 appengine web xml 中的版本 如何设置版本mvn appengine upd
  • 如何使用 NHibernate 进行分页?

    例如 我想仅使用显示的行数所需的数据填充 ASP NET 网页中的 gridview 控件 NHibernate 如何支持这一点 ICriteria has a SetFirstResult int i 方法 它指示您希望获取的第一个项目的
  • 实现弯曲动画的问题[重复]

    这个问题在这里已经有答案了 可能的重复 Android 沿路径移动位图 我想通过弯曲的路径移动图像 在android中可以吗 我搜索了很多 但我只能找到有关缩放 旋转和翻译动画的信息 所以有人有任何想法请帮忙 在 Android 中可能吗
  • 如何为 VS Code 创建默认/全局启动配置?

    我一直设置相同启动 json每个项目的文件 但我想更改默认值 以便它已经配置了启动目标 我可以更改默认值吗 或者可以创建一个用户值吗 我在 Mac OS X 上使用它 None
  • 是否可以使用回调类型定义来定义函数?

    我对使用预定义回调类型定义函数感兴趣 假设我已经定义了回调类型 typedef BOOL is trigger required cb void 现在我想使用上述类型声明并定义一个函数 我想做这样的事情 is trigger require
  • Ubuntu 上的 Docker hello-world - 权限被拒绝

    我正在尝试让 docker v 1 8 2 在 Ubuntu 14 04 上工作 使用 docker 配置文件中的 g 选项 Ubuntu 位于 USB 密钥上 在不使用机器磁盘的情况下提取映像时出现错误 结果是docker拉取了hello
  • 使用 javascript 正则表达式替换和增加整数值

    给定以下字符串 XXXX Units 4 Test XXXX 我想替换每次出现的Unit x with Unit x 1 我正在尝试使用正则表达式来实现此目的 如名称所示Units需要首先进行字面匹配 我正在尝试这样的事情 test rep