Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript在匹配行后替换字符串_Javascript_Regex - Fatal编程技术网

javascript在匹配行后替换字符串

javascript在匹配行后替换字符串,javascript,regex,Javascript,Regex,我希望找到正则表达式典型问题的答案 找一行 在那条线上换点东西 许多关于如何使用regexreplace的示例都假设您知道要替换的模式。非常适合教学,但不典型(IMO)。见和。如果它在MDN页面上,请指出它 在我最新的问题中,我有一个html文件,它的行上有uniq ID,所以我可以执行这个简单的替换。我需要修改的行的语法如下所示。我可以在文件中放置一个唯一的字符串,以便找到要更新的正确行 <span id="lastModified">2018-10-26</span&g

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

  • 找一行
  • 在那条线上换点东西
许多关于如何使用regexreplace的示例都假设您知道要替换的模式。非常适合教学,但不典型(IMO)。见和。如果它在MDN页面上,请指出它

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

<span id="lastModified">2018-10-26</span>
<span id="builtBy">Pat</span>
我认为默认情况可能是更改参数中匹配的数据(不,这样不行)。看看我尝试了什么,但没有成功

注意:在我的例子中,我试图弄清楚这一点,因为对于使用gulp replace的简单字符串替换来说,这实际上是一个javascript模式匹配和替换问题,所以除了提及它之外,我不会将gulp replace引入这个问题

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

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


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

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

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

通常,如果可能,最好使用DOM遍历而不是正则表达式。此外,如果您想使用正则表达式,将正则表达式传递给
.replace
,而不是字符串(?!lastmedited)[^\>]+(?=\n您的执行环境是什么?-描述代码需要哪些宿主来替换元素的值(例如,代码将在
gulp
/
网页包
/'browser'中运行)@当然,这是构建过程的一部分,没有在浏览器中运行,所以DOM在节点中不可用(使用gulp)。谢谢@Poul Bak,这是我找到的答案。所以最后的代码是
var res=str.replace(/()(.*)())/,'$12018-1026$3');
/(<span id="lastModified">)(.*?)(</span>)/
$12018-10-26$3