Javascript 替换左括号和右括号

2023-12-27

例如,我有一串文本

[text1] [text2] [text3]

我想用“${”替换“[”字符,用“}”替换“]”字符,但仅在这种情况下,当“[”后面跟着“]”时。

例如

[text1] [[text2] [text3]

应该导致

${text1} [${text2} ${text3}

如何使用 Javascript 中的正则表达式来实现这一点?

我写了这样的东西

someString = someString.replace(/\[/g, "${");
someString = someString.replace(/]/g, "}");

但这对我的问题不起作用,它只是替换了每个括号。


您可以使用

var s = "[text1] [[text2] [text3]";
console.log(s.replace(/\[([^\][]+)]/g, "$${$1}"));

Details

  • \[ - a [ char
  • ([^\][]+)- 第 1 组:a否定字符类 https://www.regular-expressions.info/charclass.html匹配除以下任意 1 个以上字符[ and ](请注意,在 JS 正则表达式的字符类中,]char 必须始终被转义,即使它被放置在否定类的开头)
  • ] - a ]char(在字符类之外,]并不特殊,不必转义)。

在替换模式中,$$代表字面意思$ char, { adds a { char, $1插入组 1 值,然后插入}被添加。

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

Javascript 替换左括号和右括号 的相关文章

  • 在 Internet Explorer 中使用什么来监视 jscript 内存使用情况

    我们正在调试 GWT 应用程序 在 Firefox 中运行正常 在 IE6 0 中开始运行正常 但一段时间后 它就会崩溃并开始爬行 经过一些测试后 我们怀疑存在一些内存问题 使用了太多内存 内存泄漏等 除了使用taskmanager和pro
  • Vue 3 Composition API 提供/注入在单文件组件中不起作用

    我正在使用 Composition API 在 VueJS 3 中创建一个库 我实现了提供 注入 如中所述docs https v3 vuejs org guide composition api provide inject html i
  • 在版本 4.4.6 中禁用 ckeditor 上下文菜单

    我在 Rails4 项目中使用 ckeditor 我尝试了 ckeditor gem 和 ckeditor rails gem 来提供 ckeditor 库 这里有多个帖子 人们希望删除 ckeditor 上下文菜单 以便可以显示本机浏览器
  • Number.IsNaN() 比 isNaN() 更糟糕吗

    Soooooo isNaNJavaScript 显然被破坏了 比如 isNaN isNaN isNaN true isNaN false isNaN 0 返回 false 当它们看起来都是 不是数字 在 ECMAScript 6 中 草案包
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • 导航栏下拉菜单(折叠)在 Bootstrap 5 中不起作用

    我在尝试使用以下命令创建响应式菜单或下拉按钮时遇到问题Bootstrap 5一切似乎都正常 导航图标和下拉图标出现 但它不起作用 当我单击nav图标或dropdown按钮 无dropdown menu apears 我想特别提到的是 我还包
  • 如何使用 Greasemonkey 监视静态 HTML 页面的更改?使用哈希?

    我希望我的 Greasemonkey 脚本仅在其访问的静态页面具有与以前完全相同的内容时运行 现在我可以设置一个包含该页面哈希的变量 我正在寻找一种动态散列页面的方法 以便我可以将我的散列与生成的散列进行比较 关于如何即时实现散列的任何想法
  • javascript 选择自定义光标 (svg)

    我正在动态地将光标更改为悬停时的本地 svg element on mouseover function this css cursor url svgs pointer svg 9 30 auto 工作正常 但我想选择该 svg 来操纵其
  • 检查条件并通过 Zend 中的 Regex 识别 url 中的模式

    我正在实现 Zend Regex 路由 并且必须对 url 执行多次检查 例如 如果这是我的网址 http localhost application public index php module controller action 这是
  • 改变 JavaScript 中的顶部填充

    以下是我在 css 中设置顶部填充的方法 body font size font size px margin 0 padding 100px 0 20px 0 width 100 important 如何使用最简单的 javascript
  • 使用 Google 日历源时如何禁用 FullCalendar 中的活动链接?

    我正在使用 FullCalendar 库从 Google 日历加载日历中的事件 不幸的是 事件添加到日历后 它们是可点击的 当您点击该活动时 您会自动重定向到 Google 日历页面以查看该特定活动 或者如果您有足够的访问权限 则可以直接对
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • Google Maps API (v3) 添加/更新标记

    编辑 它现在可以工作 但如果用户不允许或没有基于位置的服务 则不会加载 请参阅 jsfiddle 示例接受的答案评论 我已经浏览了一些教程和问题 但我无法安静地理解正在发生的事情 或者在这种情况下 没有发生 当用户单击链接时 我正在加载地图
  • 如何从浏览器向服务器发送“页面将关闭”消息?

    我想向每个 html 文档添加一个脚本 JavaScript 该脚本向服务器发送两条消息 页面确实打开了 页面将关闭 此消息包含页面打开的时间 打开消息应在文档加载时 或加载完成时 发送 这是简单的部分 The close message
  • 使用javascript动态更新css内容

    需要将 css 更新为动态值 我不确定最好的方法是什么 div style zoom 1 div 缩放级别将根据窗口大小调整触发 应用程序将相应缩放 我将此应用程序加载到 cordova 中并让它在 iPAD 中运行 然后我意识到需要使用
  • Rails 3.1+ 的 Jasmine 与 Mocha JavaScript 测试 [已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我对茉莉花有经验并且非常喜欢它 有谁有 Jasmine 和 Mocha 的经验 特别是 Rails 的经验吗 我想知道是否值得转用 我已经在 J
  • 如何使用 XPath 正则表达式匹配 URL

    需要 XPath 方面的帮助 我有这样一个XML
  • 有没有办法使用 ko.observableArray 作为地图?

    有没有办法使用ko observableArray http knockoutjs com documentation observableArrays html像地图 字典一样 例如 var arr ko observableArray
  • 测量窗口偏移

    有没有一种方法可以测量 jQuery 中窗口的偏移量 以便我可以比较 固定 元素和相对定位元素的位置 我需要能够知道窗口滚动了多远 以便我可以使用该图来计算固定元素的高度 相对于视口顶部 和相对对象的高度 相对于顶部 之间的差异文件的内容

随机推荐

  • 大规模 git 历史重写后如何同步本地历史?

    这个问题可能看起来很奇怪 但在重写 100 多次提交后 我在同步 git 历史记录时遇到了问题 在我重写的机器上 一个简单的git fetch同步了一切 在另一台 mac 机器上 git sync没有帮助 但在随机删除本地后 git log
  • Clang的Parallel STL进展如何?

    根据参考参数 https en cppreference com w cpp compiler support GCC 9已经实现了C 17 并行 STL与链接标志 ltbb 但我还没有听说过 Clang 如何专注于该功能的信息 或者他们永
  • required 和 ng-required 和有什么区别?

    有什么区别required and ng required 表单验证 AngularJS 表单元素寻找required属性来执行验证功能 ng required允许您设置required属性取决于布尔测试 例如 仅需要字段 B 比如说学生号
  • PhantomJS 已崩溃 - 致命 Windows 异常,代码 0xc0000005

    我们使用 EmberJS 构建了一个应用程序 当我们使用以下命令测试应用程序时 我们收到一条失败消息ember test 这里我提到了错误信息 操作系统 Windows 8 64位 PhantomJS 2 1 1 PhantomJS err
  • 字节数组到十六进制字符串

    我将数据存储在字节数组中 如何将此数据转换为十六进制字符串 我的字节数组的示例 array alpha 133 53 234 241 Using str format http docs python org 2 library stdty
  • 从已加载的 Magento 模型中检索附加数据

    在某些情况下 我收到的模型仅包含我需要的一些数据 例如catalog product不包含我可能需要使用的某些属性的实例 例如尺寸 小部件数量或腰围尺寸 为了缓解这个问题 我目前的选择是 创建一个新块 并使用手动加载所需的属性addAttr
  • 在 React Native 应用程序中禁用屏幕捕获/屏幕截图

    我遇到过一些专门针对 ios 和 Android 的解决方案 用于防止屏幕捕获和截屏 但是如何在 React Native 中禁用屏幕捕获呢 Android Inside android app src main java com Proj
  • 如何在选择查询中生成自动增量字段

    例如我有一个有 2 列的表 first name and last name具有这些值 Ali Khani Elizabette Amini Britney Spears 我想写一个select生成如下表的查询 1 Ali Khani 2
  • Visual Studio 2015 Update 2 团队资源管理器缺少“排除”

    我一直在 Visual Studio 2015 的 Team Explorer 部分中使用 Git 集成 我的解决方案中有许多配置文件需要修改 以便应用程序在本地运行 但我不想提交这些更改 在 VS2015 Update 1 中 Git 集
  • Google Sheets、带有服务帐户的 JWT 客户端

    我要拔头发了 帮助 更新 我正在使用 google auth library v1 0 0 和 googleapis v24 0 0 const JWT require google auth library var google requ
  • 如何使用 NLTK 分词器去除标点符号?

    我刚刚开始使用 NLTK 不太明白如何从文本中获取单词列表 如果我使用nltk word tokenize 我得到单词和标点符号的列表 我只需要文字 我怎样才能摆脱标点符号 还word tokenize不适用于多个句子 点被添加到最后一个单
  • Slick 3.1 - 检索列的子集作为案例类

    我正在使用 Slick 3 1 1 问题是在某些情况下我想省略一些相当重的列 但仍然将该列的子集具体化为案例类 考虑下面的表定义 class AuditResultTable tag Tag extends Table AuditResul
  • 如何在Unity3d中谷歌表单的另一个部分添加值

    如何在 unity3d 中的 Google 表单的其他部分添加价值 我只能在第 1 部分添加值 在其他部分添加值时遇到问题 这是代码 public GameObject username public GameObject email pu
  • C#中通过名称获取变量

    有没有一种方法可以通过知道变量的名称来获取变量的值 如下所示 double temp double MyClass GetValue VariableName 当我通常像这样访问变量时 double temp MyClass Variabl
  • Windows 窗体的 BackgroundWorker 替代品

    是否可以在 Windows 窗体应用程序中执行类似的操作 我正在尝试寻找其他更新 UI 的方法 而不是一直使用 BackgroundWorker 也许是这样的 public List
  • 从 JAVA 应用程序使用 SSL 连接到 MongoDb

    我有一个MongoDb实例运行 单实例 SSL已启用 我可以通过以下方式连接到它RoboMongo在哪里SSL选项卡我提供以下内容 CA File path to my certificate testCA pem PEM certific
  • C# 中的多页打印文档

    请有人帮助我 我必须在 C 中打印多页文档 我通过互联网然后使用了这段代码但不起作用 打印一页后循环再次开始 private void printDocument1 PrintPage object sender System Drawin
  • 为什么当另一个线程正在运行时 NSTimer 会被阻塞?

    我正在尝试在 iPhone 上的后台运行一项冗长的任务 我开始它performSelectorInBackground 我还创建了一个NSTimer在主线程上只是为了检查事情是否正常 我预计计时器会在另一个线程执行该操作时运行 void v
  • 重写 DeviseController 基类 - Rails 4、Devise 3

    我正在尝试重写设计方法set flash message https github com plataformatec devise blob master app controllers devise controller rb L145
  • Javascript 替换左括号和右括号

    例如 我有一串文本 text1 text2 text3 我想用 替换 字符 用 替换 字符 但仅在这种情况下 当 后面跟着 时 例如 text1 text2 text3 应该导致 text1 text2 text3 如何使用 Javascr