• 1

كيف أستعمل regular expressions داخل Python لـ XPath؟

على لغة البرمجة Python، حاولت استعمال regular expressions:

for element in root.xpath('//a[@id="hypProduct_[0-9]+"]'):

كيف أستعمل +[9-0] مع XPath لتحديد عناصر lXml:

By default, XPath supports regular expressions in the EXSLT namespace:

>>> regexpNS = "http://exslt.org/regular-expressions"
>>> find = etree.XPath("//*[re:test(., '^abc$', 'i')]",
...                    namespaces={'re':regexpNS})

>>> root = etree.XML("<root><a>aB</a><b>aBc</b></root>")
>>> print(find(root)[0].text)
aBc

ما الحل؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1

في حالتك، سنستعمل:

a[re:test(@id, "^hypProduct_[0-9]+$")]

وهذا مثال تطبيقي:

>>> from lxml.html import fromstring
>>> 
>>> data = '<a id="hypProduct_10">link1</a>'
>>> tree = fromstring(data)
>>> tree.xpath('//a[re:test(@id, "^hypProduct_[0-9]+$")]', namespaces={'re': "http://exslt.org/regular-expressions"})[0].attrib["id"]
'hypProduct_10'

مصادر:

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن