Как выбрать то, что имеет подстановочный знак / частичное совпадение с XPath

Как я могу создать выражение XPath, которое работает как регулярное выражение, чтобы оно соответствовало экземплярам next? Вот пример того, что я хочу использовать синтаксис regex:

string = 'blah_blah next '

xpath="//a[contains(text(),'.*?next.*')]");

Я новичок в XPath, и поиск по учебникам не помог мне.

1 ответов


в XPath 1.0, это выражение делает то, что вы хотите:

//a[contains(.,'next')]

от http://www.w3.org/TR/xpath/#section-String-Functions

функция: логическое содержит(строки, string)

функция contains возвращает true, если первая строка аргумента содержит второго аргумента, а в противном случае возвращать false.

для более сложного соответствия Ussing RegExp вам нужен процессор XPath 2.0, имеющий это встроенные функции: match(), replace(), tokenize(), etc.