Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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/4/regex/16.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_Xml - Fatal编程技术网

Javascript 正则表达式替换总字符串

Javascript 正则表达式替换总字符串,javascript,regex,xml,Javascript,Regex,Xml,我有一个包含以下字符串的项目的XML文件: xx 其中xx=从50到250的数字 我需要从整个文件中删除整个字符串 我如何使用正则表达式替换它?您可以使用: str=str.replace(//g',); 查看匹配的示例 var str=“xx”; str=str.replace(//g,'replaced'); console.log(str)当您替换一个标记,尤其是XML标记时,您必须确保您捕获了从开始到结束标记的所有内容。在这种情况下,RegExp应该回顾一下 var re=/]*>.

我有一个包含以下字符串的项目的XML文件:

xx

其中
xx
=从50到250的数字

我需要从整个文件中删除整个字符串

我如何使用正则表达式替换它?

您可以使用:

str=str.replace(//g',);
查看匹配的示例

var str=“xx”;
str=str.replace(//g,'replaced');

console.log(str)
当您替换一个标记,尤其是XML标记时,您必须确保您捕获了从开始到结束标记的所有内容。在这种情况下,RegExp应该回顾一下

var re=/]*>.*/g;
var m='某些文本aaqq

aatest段落

'。替换(re'); 控制台日志(m)//一些文字测试
\1
匹配
(\S+)


\S+
一个或多个非空白字符

是否尝试使用命令行完成此操作?你能说得更具体些吗?我看到有人用Javascript提供了答案…不确定您是否需要退出
。我知道它将与转义一起工作,但为了可读性起见,使用的转义越少越好。AFAIK(我不是regex专家)这样使用它将字面上匹配characterIt确实匹配文字字符。请看我的评论:“我知道它将与它一起工作……”。我想说的是,这是一种不必要的逃避。这使得生成的正则表达式更难读取。最好是深思熟虑一点。我注意到您正在使用regex101.com(您应该在回答中引用这一点)。我鼓励您在regex101.com上重构regex,而不必使用
\
。您将看到
也与字符字面上匹配。示例链接到regex101,无需更多链接:)我注意到,如果没有转义,我已经尝试了两种方法,我想我可以改进第一个示例,第二个示例很有意义,因为它是限制性的:)不要重复这一点,但是在第一个示例中还是在第二个示例中转义,这不应该有什么区别。无论
是否转义,它们都将匹配文字字符。这就是我要表达的全部观点。
都不是正则表达式特殊字符。它们不是正则表达式元字符。他们没有,因此不应该逃脱。限制不适用。
var re = /<(\S+)[^>]*>.*<\/\1>/g;
var m ='some text <ab id="aa">aa <p>qq</p> aa</ab>test test <p>paragraph </p>'.replace(re,'');
console.log(m);//some text test test