Я пытаюсь достать определенные части тела {$} у верблюда. Вот как я это делаю:
.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}'")
Что я делаю не так при использовании регулярных выражений с верблюдным простым языком?