Я пытаюсь сопоставить отдельные номера в некоторой строке, разделенной запятыми, после разделения этой строки запятыми и сохранения ее в переменной $i
я использую это регулярное выражение:
fn:matches(fn:normalize-space($i), "(?<!\S)\d+(?!\S)")
true
.false
.false
.Но это дает мне:
[1.0-ml] XDMP-REGEX: (err:FORX0002) .
Что не так с этим выражением?
Отвечает ли это на ваш вопрос? XDMP-REGEX: (ошибка: FORX0002) — преобразование строк с помощью регулярных выражений.
Упреждающий просмотр и просмотр назад не поддерживаются в выражениях регулярное выражение XQuery.
Однако они вам не нужны, если вы просто хотите убедиться, что значение является чисто числовым значением. Вы можете привязать выражение к началу и концу значения и убедиться, что все, что находится между ними, является числом:
fn:matches(fn:normalize-space($i), "^\d+$")
^[0-9]+$
помогает?