Ответ 1
Как отмечали другие ответы, XPath 1.0 не поддерживает регулярные выражения.
Тем не менее, у вас есть следующие параметры:
- Используйте выражение XPath 1.0 (обратите внимание на
starts-with()
иtranslate()
):
.//div [starts-with(@id, 'foo') and 'foo' = translate(@id, '0123456789', '') and string-length(@id) > 3 ]
-
Использовать EXSLT.NET - есть способ использовать свои функции непосредственно в выражениях XPath без использования XSLT. Функции расширения EXSLT, которые позволяют использовать RegEx-es:
regexp:match()
,regexp:replace()
иregexp:test()
-
Использовать XPath 2.0/XSLT 2.0 и встроенная поддержка регулярных выражений (функции matches(), заменить ( ) и tokenize())