骆驼:身体上的正则表达式打印而不是执行

时间:2019-04-10 05:41:55

标签: java apache-camel

我正在尝试用骆驼来获取$ {body}的特定部分。这是我的做法:

.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

好像骆驼将我的简单正则表达式调用视为长字符串一样。看着camel documentation,我不确定我是否理解使骆驼困惑的地方。我之所以这样说是因为文档示例在程序上与我的相同。这是从他们的网站上获取的:

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

在使用骆驼简单语言的正则表达式时我做错了什么?

0 个答案:

没有答案