Верблюд: регулярное выражение на теле напечатано, а не выполнено - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь достать определенные части тела {$} у верблюда. Вот как я это делаю:

.setHeader("beforeComma", simple("${body} regex '^(.+?),'"))
.setHeader("afterComma", simple("${body} regex '[^,]*$'"))
.log("beforeComma is ${headers.beforeComma} ")
.log("afterComma is ${headers.afterComma} ")

Регулярное выражение "beforeComma" получает все данные перед запятой, а "afterComma" получает все данные после запятой. Мой $ {body} оценивается как "foo, bar".

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

beforeComma is foo,bar regex '^(.+?),'
afterComma is foo,bar regex '[^,]*$'

Я бы ожидал увидеть это:

beforeComma is foo
afterComma is bar

Как будто верблюд рассматривает мой простой вызов регулярного выражения как длинную строку. Глядя на документацию верблюда , я не уверен, что понимаю, что сбивает с толку верблюда. Я говорю это, потому что пример документации процедурно идентичен моему. Это взято с их сайта:

simple("${in.header.number} regex '\\d{4}'")

Что я делаю не так при использовании регулярных выражений с верблюдным простым языком?

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