Javascript document.evaluate正则表达式

Javascript document.evaluate正则表达式,javascript,regex,dom,xpath,document.evaluate,Javascript,Regex,Dom,Xpath,Document.evaluate,我希望以以下形式获取所有具有href属性的“a”元素:http(s)://any.example.com,其中any可以是仅包含字母和/或数字的字符串。 我不熟悉正则表达式和XPath,因此无法正确使用它。 我用正则表达式计算出来,但我不确定它是否100%正确: 代码: 因此XPath将如下所示: 代码: 但它不起作用 如果有人能帮助我,我将不胜感激 您的正则表达式看起来有点不对劲,而且过于复杂。 试试这个: https?://[A-Za-z0-9]+\.example\.com/ 到目前为止

我希望以以下形式获取所有具有href属性的“a”元素:http(s)://any.example.com,其中any可以是仅包含字母和/或数字的字符串。 我不熟悉正则表达式和XPath,因此无法正确使用它。 我用正则表达式计算出来,但我不确定它是否100%正确: 代码:

因此XPath将如下所示: 代码:

但它不起作用


如果有人能帮助我,我将不胜感激

您的正则表达式看起来有点不对劲,而且过于复杂。
试试这个:

https?://[A-Za-z0-9]+\.example\.com/

到目前为止,浏览器似乎还不支持XPath2。仅XPATH 2.0支持在属性上应用正则表达式

您可能希望在使用XPath1.0(无正则表达式)过滤元素后应用正则表达式,迭代元素&然后使用JS级别的正则表达式进一步过滤元素

参考资料:


  • 您想了解什么?如何将正则表达式与xpath结合起来
    document.evaluate( "//a[@href='/(http|https)://+[A-Za-z0-9]+\.google+\.+com/']" , document , null , XPathResult.ORDERED_NODE_SNAPSHOT_TYPE , null );
    
    https?://[A-Za-z0-9]+\.example\.com/