【发布时间】:2014-06-26 08:59:57
【问题描述】:
我正在尝试提出一个骆驼路线,只有当它匹配给定的正则表达式时,才会将消息发送到 jms 队列..
我的路线是这样的:
<route id="testRoute">
<from uri="jms:queue:Q.Order1" />
<choice>
<when>
<simple>${body} regex '\w+.*'</simple>
<to uri="jms:queue:Q.Order2"/>
</when>
</choice>
</route>
如果我的消息。是这样吗,它通过了正则表达式就好了:
000000010020140507
但是,如果我的消息是这样的,它会失败:
00000001002 REXRYAN 004
00000002076006490993999900000
为什么第二条消息未能通过正则表达式以及需要在正则表达式中修改什么以传递第二条消息? 谢谢
【问题讨论】:
-
尝试在正则表达式中使用
[\s\S]而不是.? -
将正则表达式更改为 '\w+\s\S*'....但没有用。
-
@user1717230 你没有使用方括号?
-
'\w+[\s\S]*' 工作......如果你不介意......你能解释一下发生了什么......请......
标签: java regex jms apache-camel activemq