Как выбрать то, что имеет подстановочный знак / частичное совпадение с XPath - PullRequest
9 голосов
/ 27 августа 2010

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

string = 'blah_blah next '

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

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

1 Ответ

14 голосов
/ 27 августа 2010

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

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...