我希望以这种形式获得所有带有href属性的“a”元素:http(s)://any.example.com其中any可以是仅包含字母和/或数字的字符串。 我是regex和XPath的新手,所以我无法做到正确。 我想出了正则表达式,但我不确定它是否100%正确: 代码:
/(http|https)://+[A-Za-z0-9]+\.example+\.+com/
所以XPath看起来像这样: 代码:
document.evaluate( "//a[@href='/(http|https)://+[A-Za-z0-9]+\.google+\.+com/']" , document , null , XPathResult.ORDERED_NODE_SNAPSHOT_TYPE , null );
但它不起作用。
如果有人能帮助我,我将不胜感激。
答案 0 :(得分:1)
截至今天,看起来浏览器目前不支持XPATH 2.仅在XPATH 2.0中支持在属性上应用正则表达式
您希望在使用XPATH 1.0(无正则表达式)过滤元素后应用正则表达式,迭代元素和&使用JS级正则表达式进一步过滤元素
参考文献:
答案 1 :(得分:0)
你的正则表达式看起来有点过分,而且过于复杂 试试这个:
https?://[A-Za-z0-9]+\.example\.com/