/ / Apache Camel Regex Operátor nezodpovedá - regex, jar, apache-ťava

Apache Camel Regex Operátor nezodpovedá - regex, spring, apache-camel

Snažím sa používať Apache Camel (s Spring XML), aby som zistil, či telo správy zodpovedá regexu:

<when>
<simple>${body} regex "https?://(?:www.)?twitter.com[^w]+"</simple>
<to uri="activemq:queue:test"/>
</when>

tak http://www.twitter.com/user v tele správy by sa malo presunúť do frontu "test".

Regex sa zhoduje v Rad regulárnom výraze Designer, ale Camel stále neposúva správu do frontu "test". Nejaké nápady, prečo to nefunguje?

odpovede:

2 pre odpoveď č. 1

java.util.regex vyžaduje plnú zhodu, takže ak to Apache Camel používa (?), potom je vaša hypotéza správna. Nebol by "najjednoduchší spôsob, ako dať". * "Pred a po regexe?


0 pre odpoveď č. 2

Riešenie, ktoré pre mňa fungovalo bolo:

<simple>${body} regex "(?:https?://)?(?:w{3}.)?twitter.com(?:/.*|/)?"</simple>

ktorý obsahuje niekoľko drobných úprav. Najväčší je zástupný znak * na konci, takže sa potom zhoduje s čímkoľvek (pokiaľ má lomka prvý).

Ďakujeme za pomoc a za návrh. *