gpt4 book ai didi

javascript - 使用正则表达式和 Javascript 从字符串中提取值

转载 作者:行者123 更新时间:2023-11-28 09:23:44 25 4
gpt4 key购买 nike

给定一个字符串,例如:

</gd:organization><gd:email rel='http://schemas.google.com/g/2005#other' address='CM@Aart.com'/><gd:email rel='http://schemas.google.com/g/2005#other' address='da@ammeart.com' primary='true'/><gd:phoneNumber rel='http://schemas.google.com/g/2005#work'>011 360 51 60</gd:phoneNumber>

我需要从字符串中删除:

<gd:email rel='http://schemas.google.com/g/2005#other' address='CM@Aart.com'/>

- 基于与:CM@Aart.com 的匹配。

它必须用基本的 JavaScript 来完成,我无法导入任何特殊的解析工具。我似乎找不到一个不会出错的组合。

谢谢!

最佳答案

如果必须在正则表达式中完成此操作,则如果您知道所有<gd:email>,则可以尝试类似以下的操作部件将具有 address 属性,引号为 '并结束/>没有address='/>出现在这些属性的任何值内。

"</gd:organization><gd:email rel='http://schemas.google.com/g/2005#other' address='CM@Aart.com'/><gd:email rel='http://schemas.google.com/g/2005#other' address='da@ammeart.com' primary='true'/><gd:phoneNumber rel='http://schemas.google.com/g/2005#work'>011 360 51 60</gd:phoneNumber>"
.replace(
/<gd:email .*?address='([^']*)'.*?\/>/g, // match email node
function (a, b) { // replacement logic
if (b === 'CM@Aart.com') return '';
return a;
}
);

正如我在 my comment 中所说,实现这一点的最佳方法实际上是使用 DOMParser 这是一个原生的 JavaScript XML 解析器,但是您给我们的字符串不是有效的 XML,因为它以结束标记开头。

关于javascript - 使用正则表达式和 Javascript 从字符串中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14657201/

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