Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.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_Node.js_Regex_Angular - Fatal编程技术网

如何在javascript中用正则表达式替换字符串的特定位置

如何在javascript中用正则表达式替换字符串的特定位置,javascript,node.js,regex,angular,Javascript,Node.js,Regex,Angular,这是代码,它只针对一行字符串,但不适用于多行文本。 我正在从xml文件中提取数据 let xmlData = `<?xml version="1.0" encoding="utf-8"?> <RecipeData> <SUNDAY Value="1"/> <SUNDAY/> <SUNDAY/> <SUNDAY/> <MONDAY Value="1"/> &l

这是代码,它只针对一行字符串,但不适用于多行文本。 我正在从xml文件中提取数据

let xmlData = `<?xml version="1.0" encoding="utf-8"?>
    <RecipeData>
    <SUNDAY Value="1"/>
    <SUNDAY/>
    <SUNDAY/>
    <SUNDAY/>
    <MONDAY Value="1"/>
    </MONDAY>
    <MONDAY>
    </MONDAY>
    </RecipeData>`;
    search = '<SUNDAY/>'
    let n = 2
    console.log(xmlData.replace(RegExp("((<SUNDAY(\s*)\/(\s*)>)$\g){" + n + "}"), function(x){return x.replace(RegExp("((<SUNDAY(\s*)\/(\s*)>)$\g)" + "$"), "HHHH")}))
让xmlData=`
`;
搜索=“”
设n=2
log(xmlData.replace(RegExp((()$\g){“+n+”}),函数(x){return x.replace(RegExp((()$\g)”+“$”,“hhh”)})
预期产出:

我们正在替换第二次发生的

`<SUNDAY with HHHH.`
`一个选项是使用,例如,在
nodeName
等于
SUNDAY
的情况下,计算出现次数

如果存在匹配项,请通过parentNode将该节点替换为新节点

让xmlData=`
`,
搜索='SUNDAY',
n=2;
parser=新的DOMParser();
xmlDoc=parser.parseFromString(xmlData,“text/xml”);
让childNodes=xmlDoc.documentElement.childNodes;
让nrSundays=0;
for(设i=0;ilog(新的XMLSerializer().serializeToString(xmlDoc.documentElement))任何地方都没有匹配换行符。您希望正则表达式如何匹配多行文本块?此外,模式字符串中没有反斜杠<代码>“\s”
=
“s”
。为什么模式中有
\g
?为什么首先要使用正则表达式处理XML?应该包括预期的输出。预期的输出已经包括在内
<?xml version="1.0" encoding="utf-8"?>
        <RecipeData>
        <SUNDAY Value="1"/>
        <HHHHH/>
        <SUNDAY/>
        <SUNDAY/>
        <MONDAY Value="1"/>
        </MONDAY>
        <MONDAY>
        </MONDAY>
        </RecipeData>;