2011-07-27 35 views
0

我想以這種形式獲得所有帶有href屬性的「a」元素:http(s)://any.example.com其中any可以是隻包含字母和/或數字的字符串。 我是新來的正則表達式和XPath,所以我不能正確的。 我理解了它的正則表達式,但我不知道,如果是100%正確的: 代碼:document.evaluate正則表達式

/(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); 

,但它不沒有工作。

如果有人能幫助我,我將不勝感激。

回答

1

截至今日,看起來像目前的瀏覽器不支持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
0

你的正則表達式看起來有點過分,並且過於複雜。
試試這個:

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

確定它的工作原理,但我沒有發現什麼,我想 –

+0

你想找出什麼? – Bohemian

+0

如何將正則表達式與xpath結合使用 –