Algo como .//div[@id='foo\d+]para capturar tags div com id='foo123'.
Estou usando .NET, se o que importa.
Algo como .//div[@id='foo\d+]para capturar tags div com id='foo123'.
Estou usando .NET, se o que importa.
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+')].
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 .