我正在尝试用骆驼来获取$ {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}'")
在使用骆驼简单语言的正则表达式时我做错了什么?