我正在尝试将 XML 标记转换为大写,同时保留属性和文本的大小写。所以例如
<Mytag Category="Parent">Value1</Mytag>
变成
<MYTAG Category="Parent">Value1</MYTAG>
我有一个正确匹配 XML 标记的正则表达式,但 upperCase 函数似乎不起作用。
myXmlElement.replace(/<(\/)*([a-zA-Z_0-9]+)([^>]*)>/g,"<$1" + "$2".toUpperCase() + "$3>")
我也尝试过使用String.prototype.toUpperCase.apply("$2")
,以及将函数作为替换参数传递
myXmlElement.replace(/<[\/]*([a-zA-Z_0-9]+)[^>]*>/g,
function($1,$2,$3){return <$1 + $2.toUpperCase() + $3>})
但这不起作用,因为 $1,$2,$3 似乎指的是整个匹配元素($1 = , $2 = )
我确定我在这里忽略了一些微不足道的事情,有人可以帮忙吗?