gpt4 book ai didi

javascript在匹配行后替换字符串

转载 作者:行者123 更新时间:2023-11-30 20:05:09 26 4
gpt4 key购买 nike

我希望通过正则表达式找到典型问题的答案。

  • 找到给定的行
  • 更改该行的内容

许多关于如何使用 RegEx 替换的示例假设您知道要替换的模式。非常适合教学但不典型(IMO)。参见 w3 schoolsMDN .如果它在 MDN 页面上,请指出。

在我最近的问题中,我有一个 html 文件,其中一行有 uniq ID,因此我可以执行这个简单的替换。我需要修改的行的语法如下所示。我可以在文件中放置一个唯一的字符串,这样我就可以找到要更新的正确行。

<span id="lastModified">2018-10-26</span>
<span id="builtBy">Pat</span>

我需要找到包含 id="lastModified" 的行并更改日期。

我需要找到包含 id="builtBy" 的行并更改日期。

我尝试了一些不同的东西。一个是

var res = str.replace(/id="lastModified".*>(.*)<.span>/, newDate );

我认为默认值可能是更改括号中匹配的数据(不,它不能那样工作)。参见 JSFiddle code example我尝试过但没有用的方法。

注意:在我的例子中,我试图解决这个问题,因为对于使用 gulp-replace 的简单字符串替换,但这实际上是一个 javascript 模式匹配和替换问题,所以我没有将 gulp-replace 带入这个除了提及它之外的问题。

注意:在我的例子中,此代码未在浏览器中执行,因此典型的 DOM 操作将不起作用。

我发现的其他问题(但没有回答我的问题)是:

最佳答案

您可以使用此正则表达式来匹配您的第一行:

/(<span id="lastModified">)(.*?)(</span>)/

它基本上按字面意思匹配文本并将其捕获为三个组,然后将其用于替换模式,可以是:

$12018-10-26$3

首先,它替换为 $1(第一个匹配的组),然后是您的日期(您希望它来自一个变量),最后是 $3,这是结尾跨度。

关于javascript在匹配行后替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53011331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com