将行开头的所有制表符匹配并替换为四个空格

2023-12-12

我在网站上阅读了一些其他问题和答案,但它们都与我所寻求的有点不同:用四个空格替换字符串开头的所有制表符。

到目前为止我尝试过的:

let m = '\t\tsomething\t'

查找标签并不难/\t/g,但这会得到不在行首的制表符。所以使用m.match(/(\t\W)/)对上面的示例进行了处理,得到了 2 个匹配项。

但使用时m.replace(/(\t\W)/, ' '),预期结果将是:

        something // 8 spaces (4 for each \t)

但我得到的是这个:

    something // 4 spaces for two tabs.

为什么这两个选项卡只替换一次?我怎样才能替换每一个出现的\t与所需的字符串?


首先,您将替换制表符和非单词字符,该字符不一定是制表符,而是用四个空格替换。你不匹配每一个\t字符分开。

将字符串开头的所有制表符替换为四个空格

你可以使用y flag:

console.log(
  "\t\tHello, world!".replace(/\t/gy, '    ')
);

或不使用y修饰符(以支持古老的浏览器)你可以使用更多的代码:

console.log(
  "\t\tHello, world!\t".replace(/\t|(.+)/gs, function(match, p1) {
      return p1 ? p1 : '    ';
  })
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将行开头的所有制表符匹配并替换为四个空格 的相关文章

  • 在 MongoDB 中查找具有字符串 ID 数组的文档

    我有一个 id 字符串数组 我想将其与 find 函数一起使用 db companies find id in arr arr看起来像这样 563a2c60b511b7ff2c61e938 563a2c60b511b7ff2c61e8b7
  • 如何向 jQuery Tokeninput 添加占位符?

    如何将占位符添加到 jQuery Tokeninput 字段 一个正常的placeholder属性在这里不起作用 对于这样的输入
  • 如何添加 Java 正则表达式实现中缺少的功能?

    我是 Java 新手 作为一名 Net 开发人员 我非常习惯Regex Net 中的类 Java 实现Regex 正则表达式 还不错 但它缺少一些关键功能 我想为 Java 创建自己的帮助器类 但我想也许已经有一个可用的了 那么 是否有任何
  • 何时不使用承诺[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在阅读了数十篇关于 es6 Promise 有多伟大以及为什么我们应该实现它们的文章之后 我有这样的感觉 ALL我的 不平凡的 JavaScri
  • 除括号之间的内容外,所有内容均小写

    考虑以下字符串 LoReM FOO IPSUM dolor BAR Samet fooBar 我正在寻找一种方法来小写所有内容 除了 brackets 之间的内容应该被忽略 所以期望的输出是 lorem FOO ipsum dolor BA
  • ElectronJS ReferenceError:导航器未定义

    我正在尝试在电子上制作自定义标题栏 但是当我启动我的应用程序时 我遇到了 ReferenceError 导航器未定义 问题 请帮忙 这是我的 main js 中的代码片段 My Codes https i stack imgur com c
  • Ember.JS - 如何在同一页面中使用多个模型、控制器和视图?

    我主要了解 Ember JS 的基础知识 大多数示例实际上只处理单个控制器和模型以在页面上显示某些内容 我真的很想用 Ember 构建一个完整的 Web 应用程序 所以有人能告诉我如何组织和连接多个控制器 模型和视图到一个页面中吗 例如 如
  • Emacs 正则表达式:什么 \< 和 \> 可以做 \b 不能做的事情?

    正则表达式反斜杠 GNU Emacs 手册 http www gnu org software emacs manual html node emacs Regexp Backslash html说 lt 匹配单词的开头 gt 匹配单词末尾
  • 使react-leaflet能够离线使用

    我一直在使用反应传单 https github com PaulLeCam react leaflet图书馆 到目前为止运作良好 现在我希望网站预加载尽可能多的图块 以便网络应用程序 也是 PWA 可以在没有互联网的情况下使用 我找到了一些
  • KeyboardEvent.keyCode 已弃用。这在实践中意味着什么?

    根据 MDN 我们绝对应该not正在使用 keyCode财产 它已被弃用 https developer mozilla org en US docs Web API KeyboardEvent keyCode https develope
  • 用数组反向查找对象

    假设我有一个这样的对象 resourceMap a 0 1 2 3 4 5 6 7 8 9 10 b 11 12 c 21 23 d 54 55 56 57 510 确定是否的最佳方法是什么resourceId 21将会 c 我们不知道钥匙
  • 选中复选框时提交表单

    有没有办法在选中复选框时提交表单
  • 是否可以使用打字稿映射类型来创建接口的非函数属性类型?

    所以我正在研究 Typescript 的映射类型 是否可以创建一个接口来包装另一种类型 从而从原始类型中删除函数 例如 interface Person name string age number speak void type Data
  • window.showModalDialog 的等效跨浏览器解决方案是什么?

    window showModalDialog 的等效跨浏览器解决方案有哪些 showModalDialog 在 IE 和 FF 3 中引入 我个人认为没有 但是有很多 UI 工具包提供了这样的功能 例如jQuery UI http jque
  • ES6 模板文字的延迟执行

    我正在玩新的ES6 模板文字 http tc39wiki calculist org es6 template strings 我首先想到的是String format对于 JavaScript 所以我开始实现一个原型 String pro
  • 如何获取使用 .map 渲染的第一个元素的 ref?

    我需要在几行中显示视频 卡片 的缩略图 并重点关注第一个缩略图 我使用嵌套地图进行了显示 该代码基本上迭代视频数组并返回多行视频 我们如何关注第一个渲染的元素 我认为我们需要获得第一个要聚焦的元素的引用 但是我们如何在这里设置 ref 并在
  • Django 与谷歌图表

    我试图让谷歌图表显示在我的页面上 但我不知道如何将值从 django 视图传递到 javascript 以便我可以绘制图表 姜戈代码 array Year Sales Expenses 2004 1000 400 2005 1170 460
  • 如何在 SVG 元素上使用箭头标记?

    我需要在 d3 js 中创建一个箭头 但我找到的只是带有节点图的示例 我需要的是简单地制作一个从 A 点到 B 点的箭头 我尝试实现以下示例中的部分代码 http bl ocks org 1153292 http bl ocks org 1
  • 如何更改订阅值?使用 rxJS

    我正在创建一个计时器 需要你的帮助 我刚刚学习 Angular 和 rxJS 对此我有一些疑问 我正在创建一个具有启动 停止 暂停 重置功能的计时器 并且 btn Reset 必须将我的计时器 暂停 到 300 毫秒 怎么做 D 我的启动定
  • 如何调试 Gulp 任务?

    如何调试我的中定义的 gulp 任务gulpfile js使用诸如 Google Chrome 调试器之类的调试器逐行单步执行任务的代码 对于 Node js 6 3 版本 您可以使用 inspect flag https nodejs o

随机推荐

  • unique() 用于多个变量

    我在 R 中有以下数据框 gt str df data frame 545227 obs of 15 variables ykod int 93 93 93 93 93 93 93 93 93 93 yad Factor w 42 leve
  • Safari 和 Chrome 中允许跨域请求吗?服务器响应与命令行参数

    我正在尝试在 Windows 上使用 Safari 发出跨域请求 我的 Safari 版本是 5 1 2 这是一个经典问题 我在很多地方读到 Chrome 和 Safari 允许跨域请求 只要服务器在响应中使用以下标头进行响应 Access
  • 在 UITextField 之外的任何地方触摸时关闭键盘

    我正在开发一个iPad应用程序 其中有大量UIViewControllers UITableViews 与细胞accessoryViews of UITextFields 等等等等 许多UIViewControllers出现在导航层次结构中
  • 访问 pandas DataFrame 中名为“class”的列时出现语法错误

    我有名为 dataset 的 pandas DataFrame 它包含一个名为 class 的列 当我执行以下行时 我得到 SyntaxError 无效语法 print Unique values in the Class column d
  • C#中如何杀死线程?

    我有一个线程打开 MyMessageAlert 类型的表单 该表单是一个弹出窗口 当我调用它时会打开它 它有一个计时器 在 30 秒后调用 CloseWindow 方法 m messagAlert new MyMessageAlert Pa
  • 这个配置规格足够好吗?

    我更喜欢 UCM 而不是 Base CC 谁能告诉我这个配置规范是否好 我对最后一行有一些疑问 没有的话可以吗element main LATEST 以下是开发者的要求 我希望他们所有的改变 main nz plusOne分支 即使他们从
  • 如何使用 sed 匹配后面不跟单词的字符串

    我需要删除由连字符后跟空格组成的所有字符串 但前提是空格后面没有单词 og 示例文件 Kultur og idrettsavdelinga skapar nyska pande kunst og utvik lar samfunnet 我尝
  • 为什么这个随机数生成器不是随机的? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么我的随机数生成器在 C 中不是随机的 随机数生成器没有按我计划的方式工作 C 我有这个方法来计算随机值 private double getMetrics SourceFile sf Rando
  • C 中的堆大小限制

    我对 C 程序的程序执行布局图中的堆有疑问 我知道所有动态分配的内存都是在动态增长的堆中分配的 但我想知道 C 程序的最大堆大小是多少 我只是附加一个示例 C 程序 这里我尝试为字符串分配 1GB 内存 甚至执行 memset includ
  • 在 VSTS 中显示代码分析警告

    I ve 设置静态代码分析在我的 Visual Studio Team Services 构建上 我正在为我的解决方案使用 MSBuild 构建步骤 在构建日志中 它显示了 999 多行以 warning 2017 11 09T13 52
  • MongoDB:与 ASP.NET MVC 应用程序连接

    我创建了一个 ASP NET MVC 5 应用程序 并将其托管在 IIS 7 上 我现在想开始在该应用程序中使用 MongoDB 数据库 我已经成功运行了 MongoDB Windows 服务 但我现在不知道下一步是什么 Namely i
  • 零截距模型的 lm() 中的 R 平方

    我经营一家lm 在 R 中 这是总结的结果 Multiple R squared 0 8918 Adjusted R squared 0 8917 F statistic 9416 on 9 and 10283 DF p value lt
  • 通过 SAS 从 ORACLE DB 导入 blob

    对每个人来说都是一天中的好时光 上周我在工作中遇到了一个巨大的问题 这是交易 我需要通过SAS从ORACLE数据库下载excel文件 blob 我在用 第一步我需要从oracle获取数据 我使用的构造 blob文件近100kb proc s
  • ace.js 和 Angular 的主题和模式路径推断问题

    抱歉 不幸的是 这个问题没有提供太多细节 因为我不确定到底需要什么来解释这个问题 首先 我正在尝试使用ng2 ace editor in my Angular应用 但我的设置并不标准 详细信息在另一个相关问题中 应用程序找不到 js 文件
  • 对非对象调用成员函数 rowCount()

    我的查询有问题 我最近转向 PDO 这对我来说有点新鲜 现在我需要在查询中使用 JOIN 从另一个表获取数据 而不需要执行两次 问题是 我收到此错误 Call to a member function rowCount on a non o
  • HashMap 持有重复的键

    在尝试时HashMap 我注意到一些奇怪的事情 运行 4 个线程 每个线程尝试将 key value 的键值从 0 到 9999 值设为常量字符串 当所有线程都完成后 map size 返回的值大于 10 000 这怎么发生的 这是否意味着
  • 为什么 C# 没有检测到 1970/1/1 处于 BST 之下?

    我正在使用第 3 方 API 该 API 将一天中的时间值返回为日期时间值 并填写 1970 年 1 月 1 日作为日期部分 所以对于凌晨 5 点 它会返回类似的内容1969 12 31T21 03 00 000 08 00 问题是 如果用
  • Gmail电子邮件发送c#

    当我尝试向同一电子邮件发送消息时 此代码有效 但在其他电子邮件中 则无法正常工作 var smtpClient new SmtpClient smtp gmail com Port 587 UseDefaultCredentials fal
  • 围绕 d3 地图投影创建弯曲边框

    我使用所示的 geoNaturalEarth1 在 d3 中创建了一张世界地图here 我使用带有此投影的 geojson 世界地图来获取地图 如下面的代码所示 然而 这表明各国漂浮在太空中 没有边界 我想在地图投影周围绘制边框 使其看起来
  • 将行开头的所有制表符匹配并替换为四个空格

    我在网站上阅读了一些其他问题和答案 但它们都与我所寻求的有点不同 用四个空格替换字符串开头的所有制表符 到目前为止我尝试过的 let m t tsomething t 查找标签并不难 t g 但这会得到不在行首的制表符 所以使用m matc