В XPath-1.0 вы не можете использовать RegEx'es.
Но вы можете использовать функцию fn:number()
, чтобы проверить, может ли данная строка быть действительным числом с помощью функции fn:boolean
:
/div/div[boolean(number(substring-before(substring-after(.,'('),')')))]
Очевидно, это работает, только если в строке нет других скобок. И он не проверяет, находится ли число в скобках в конце строки. Чтобы добавить это дополнительное ограничение, измените выражение на
/div/div[not(boolean(string(normalize-space(substring-after(.,')'))))) and boolean(number(substring-before(substring-after(.,'('),')')))]
. Это добавит еще один предикат, чтобы проверить, есть ли после )
другие символы, кроме пробелов. Начальные и конечные пробелы между скобками автоматически удаляются функцией fn:number()
.