Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 使用JS或JQUERY构建正确的正则表达式时出现问题:只在一行中替换两个字符串之间的所有模式_Javascript_Jquery_Regex - Fatal编程技术网

Javascript 使用JS或JQUERY构建正确的正则表达式时出现问题:只在一行中替换两个字符串之间的所有模式

Javascript 使用JS或JQUERY构建正确的正则表达式时出现问题:只在一行中替换两个字符串之间的所有模式,javascript,jquery,regex,Javascript,Jquery,Regex,我有一个只有一行很长的文件: {"cours":[{"BackgroundImage":"’images/1603881_teaser_picture_1599819830.jpg","UrlsCourse":["https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3&q

我有一个只有一行很长的文件:

{"cours":[{"BackgroundImage":"’images/1603881_teaser_picture_1599819830.jpg","UrlsCourse":["https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3","file:///R:/Formation/Développement/Apprenez ’ et CSS3 ’- OpenClassrooms.htm"],"description":"file:///R:/Formation/Développement/Apprenez ’ et CSS3 - OpenClassrooms.htm"],"file:///R:/Formation/Développement/Apprenez CSS3 - OpenClassrooms.htm"]
我需要将所有
'
替换为
'
,它们可能存在于
文件
htm
(URL)之间,并保留其他
'
(行中有许多对
文件…htm

我想正则表达式可能是一个解决方案,但我不知道如何解决这个问题

如果没有解决方案与正则表达式,我会做一个经典的循环


之前和之后的另一个样本

以前

"abc":"za’","[file///’ kje.htm]","[file///’ kje’ kje.htm]":"[file/// kje.htm]":"g’ kje"
之后

谢谢你的帮助

text=`{“cours”:[{“BackgroundImage”:“'images/1603881_-trister_-picture_1599819830.jpg”,“urlsourse”:”https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3","file:///R:/Formation/Dédeveloppement/Apprenez'et CSS3'-openquestions.htm“],“说明”:"file:///R:/Formation/Dédeveloppement/Apprenez'et CSS3-openquestions.htm“],”file:///R:/Formation/Dédeveloppement/Apprenez CSS3-openquestions.htm“]`;
//构建一个正则表达式以查找所有以.htm结尾的文件名
console.log(text.match(/file:\/\/\/.*?\.htm/g));//x.replace(/'/g,“”);

console.log(res);
您能否提供一个带有前后字符(可能只有20-30个字符)的派生示例所以我们可以看到一些东西?为什么你不想替换所有的
?如果我想替换所有的
,问题就不存在了…如果对象是有效的JSON,这将非常简单。你有权控制输出来更正它吗?尽管我认为如果你有在该级别的控制权,它会首先更容易防止输入无效字符。@Rory McCrossan,是的,您有权使用json,是的,一个解决方案是在调用时修改url。但最好的解决方案是修复初始文件(避免污染js程序).我认为正则表达式对专家来说会更容易,但也许唯一的解决方案是做一个简单的循环..这对正则表达式专家来说是一个挑战..是的,这是一个很好的解决方案,我忘记了在替换正则表达式时使用function()的事实。。
"abc":"za’","[file///' kje.htm]","[file///' kje' kje.htm]":"[file/// kje.htm]":"g’ kje"