Posso usar um Regex em uma expressão XPath?

votos
60

Algo como .//div[@id='foo\d+]para capturar tags div com id='foo123'.

Estou usando .NET, se o que importa.

Publicado 01/01/2009 em 16:31
fonte usuário
Em outras línguas...                            


4 respostas

votos
28

XPath 2.0 tem algumas funções que suportam expressões regulares: matches(), replace(), tokenize().

Em XPath 1.0 não há suporte regex.

Para .NET você pode usar o motor de XPath em Saxon.Net ter XPath apoio 2.0.

Então, se utilizar o motor de XPath 2.0 em Saxon.NET, o seu exemplo se transformaria em: .//div[matches(@id,'foo\d+')].

Respondeu 01/01/2009 em 17:01
fonte usuário

votos
2

Em .NET você tem a capacidade de acessar suas classes personalizadas (e, portanto, regex se você pode codificá-lo de forma adequada para as suas necessidades), através de objetos de extensão.

Tutorial aqui .

Respondeu 01/01/2009 em 17:05
fonte usuário