gpt4 book ai didi

javascript - 在 Javascript 中查找 xml 转义破折号

转载 作者:行者123 更新时间:2023-11-30 18:42:02 25 4
gpt4 key购买 nike

我想使用正则表达式在 javascript 的 html 中查找破折号。 html 页面中的破折号有时可能是用 的字符串值进行 xml 转义。但是,由于某些原因,使用正则表达式查找此字符串不起作用。

var html = document.getElementsByTagName('html').item(0).innerHTML;
var escapedDash = /–/ig;
var foundEscapedDash = html.match(escapedDash);
alert(foundEscapedDash);

正则表达式 /–/ig 不会产生任何值。正则表达式 /-/i 也找不到转义破折号

有人知道可以找到转义破折号的正则表达式吗?

最佳答案

当您将 innerHTML 设置为带有实体的字符串时,它会将其转换为文字字符。例如:

var div = document.createElement('div');
div.innerHTML = '–'
alert(div.innerHTML.length); // 1, not 7 as may be expected

因此您需要匹配实际字符 &ndash,为此,您可以使用 unicode literal表示。对于“–”,它是 \u2013

div.innerHTML.match(/\u2013/ig)

顺便说一句,假设破折号是字符串的第一个字符,您可以使用 div.innerHTML.charCodeAt(0).toString(16) 为自己找到十六进制数 0x2013 )

关于javascript - 在 Javascript 中查找 xml 转义破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6591269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com