Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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正则表达式以捕获<;在XML属性中_Javascript_Regex - Fatal编程技术网

JavaScript正则表达式以捕获<;在XML属性中

JavaScript正则表达式以捕获<;在XML属性中,javascript,regex,Javascript,Regex,我有一种基于XML的脚本语言,我想在其中使用类似 首先,强制链接告诉您不要这样做: 有了这些,你就可以做你想做的事了 您可以使用一个函数替换字符串对象的方法,因此我将首先使用您当前的正则表达式匹配属性,然后替换每个,也许您应该使用更高级的xml编辑器,它不需要您编辑文本级别。我不知道您文本的整个结构,但对您提供的示例有效。警告:这可能不完全有效,因为正则表达式不适合解析XML。@Chris我不想解析任意HTML。@user3195878 HTML~=XML。在这种情况下也是一样。您正在尝试用正

我有一种基于XML的脚本语言,我想在其中使用类似


首先,强制链接告诉您不要这样做:

有了这些,你就可以做你想做的事了


您可以使用一个函数替换字符串对象的方法,因此我将首先使用您当前的正则表达式匹配属性,然后替换每个
,也许您应该使用更高级的xml编辑器,它不需要您编辑文本级别。我不知道您文本的整个结构,但对您提供的示例有效。警告:这可能不完全有效,因为正则表达式不适合解析XML。@Chris我不想解析任意HTML。@user3195878 HTML~=XML。在这种情况下也是一样。您正在尝试用正则表达式解析非正则语言。谢谢。这也是我的解决方案。我以为会有办法得到
function escapeLtGt(str) {
    return str.replace('<', '&lt;').replace('>', '&gt;');
}

function escapeLtGtInXmlAttrs(str) {
    return str.replace(/="(.*?)"/g, escapeLtGt);
}

// example, logs '<example if="x&lt;5" />'
console.log(escapeLtGtInXmlAttrs('<example if="x<5" />'));