регулярное выражение для параметра просмотра на геосервере

Геосервер 2.1-RC1

Я пытаюсь создать допустимое регулярное выражение, которое геосервер использует для проверки параметров просмотра.

В основном у меня есть sql, который заканчивается так

table.field in( '%field%' )

где геосервер %field% должен измениться для параметров просмотра, полученных при вызове openlayers.

Значение для %field% должно быть примерно таким:

'cake'
'cheesecake','pie'
'cake or pie', 'pie','cheesecake'

Мне удалось создать это выражение

^[\']+[\d,\w,\s]+[\']*([\,]*[[\']+[\d,\w,\s]+[\'])*

Он отлично работает на всех онлайн-тестерах регулярных выражений, которые я нашел, но когда я пытаюсь сохранить на геосервере, я получаю эту ошибку:

Недопустимое регулярное выражение ^[\']+[\d,\w,\s]+[\']*([\,]*[[\']+[\d,\w,\s]+[\'])*: незакрытый класс символов рядом с индексом 50 [\']+[\d,\w,\s]+[\']*([\,]*[[\']+[\d,\w,\s]+[\'])*

Есть кто-нибудь, кто мог бы подсказать мне об этом? Я не очень хорошо разбираюсь в регулярных выражениях.


person ViniciusCR    schedule 05.12.2014    source источник


Ответы (1)


Я нашел это!

это здесь [[\'] это [[ должно быть [

Но я понятия не имею, почему онлайн-тестеры регулярных выражений приняли это.

person ViniciusCR    schedule 05.12.2014
comment
Вероятно, потому, что они используют регулярные выражения на основе PERL, а не на основе Java. - person Andrea Aime; 05.12.2014