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ď č. 1java.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. *