12
votes

Comment filtrer les fichiers par extensions à l'aide de Paramètre Inclure le fichier de composant Camel2

J'ai besoin du filtre le plus simple par extension: f.-e. Fichier 20120523.173227.Customermaster05092012.qwerty.xml Itinéraire:

<from uri="file://{{fdr.folder.working.url}}&amp;include=\*.xml"/>
and
<from uri="file://{{fdr.folder.working.url}}&amp;include=\\*.xml"/>


0 commentaires

3 Réponses :


17
votes

putain, bonne pensée vient après, à l'aide de la force brute, j'ai découvert une valeur correcte pour inclure: xxx


2 commentaires

Oui, c'est juste une expression régulière, alors tout ce que vous pouvez faire avec l'API d'expression régulière Java fait partie de ce filtre.


Vous devriez échapper au dernier '.' personnage. Sinon, vous allez correspondre à des fichiers comme FooxML ou Barzip



5
votes
(?i).*.xml|.*.zip
If you want case insensitive file extension matching.

3 commentaires

La deuxième '.' doit être échappé: . * \. xml |. * \. zip . Sinon, c'est-à-dire. échantillon.axml sera également traité.


Selon Le doc : " (correspondant est sensible à la caisse de chameau 2.17 en avant) ".


Je pense que c'est plus correct include = (? I). * \\. XML $



4
votes

Vous devez échapper correctement à la barre arrière dans la chaîne et utiliser la fin du signe de chaîne '$' ': inclure =. * \\. xml $


0 commentaires