首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >document.evaluate正则表达式

document.evaluate正则表达式
EN

Stack Overflow用户
提问于 2011-07-27 18:40:02
回答 2查看 830关注 0票数 0

我希望以这种形式获得所有具有href属性的"a“元素: http(s)://any.example.com,其中任何元素都可以是只包含字母和/或数字的字符串。我不熟悉正则表达式和XPath,所以我不能正确地使用它。我算出了正则表达式,但我不确定它是否100%正确: Code:

代码语言:javascript
复制
/(http|https)://+[A-Za-z0-9]+\.example+\.+com/

所以代码看起来应该是这样的: XPath:

代码语言:javascript
复制
document.evaluate( "//a[@href='/(http|https)://+[A-Za-z0-9]+\.google+\.+com/']" , document , null , XPathResult.ORDERED_NODE_SNAPSHOT_TYPE , null );

但它不起作用。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-03 00:47:18

目前,浏览器似乎还不支持XPATH 2。仅在XPATH 2.0中支持对属性应用正则表达式

您可能希望在使用XPATH 1.0过滤元素之后应用正则表达式(不使用正则表达式),遍历元素并使用JS级别的正则表达式进一步过滤元素

参考文献:

  1. https://stackoverflow.com/a/21405499/211794
  2. https://stackoverflow.com/a/6282877/211794
  3. https://developer.mozilla.org/en-US/docs/Web/API/Document/evaluate#Browser_compatibility
票数 1
EN

Stack Overflow用户

发布于 2011-07-27 18:45:35

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

试试这个:

代码语言:javascript
复制
https?://[A-Za-z0-9]+\.example\.com/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6842971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档