2011-07-27 4 views
0

href属性を持つすべての "a"要素をこのフォームで取得したいとします。http:s://any.example.com anyは、文字または数字だけを含む文字列です。 。 regexとXPathの新機能ですので、正しく取得できません。 私は正規表現をそれを考え出したが、私はそれが100%正しいかどうか分からない: コード: コード:document.evaluate regexes

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

が、それはdoesnの仕事はありません。

誰かが私を助けることができれば幸いです。

答えて

1

は、あなたがのためにフィルタリング後の正規表現を適用したいと思うだけXPATH 2.0

でサポートされている属性の上に正規表現を適用するXPATH 2をサポートしていない現在のブラウザのように見えますXPATH 1.0(NO正規表現)を使用して要素は、要素&さらにフィルタを反復代わり

参照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

OK、それは動作しますが、私は –

+0

が何を知りたいんでした欲しかったものを発見しませんでしたか? – Bohemian

+0

正規表現をxpathと組み合わせる方法 –

関連する問題