J'ai un problème.Regex avec texte délimité par des tabulations contenant x09
J'ai un texte délimité par des tabulations pour correspondre à une regex.
Mon regex ressemble:
^([\w ]+)\t(\d*)\t(\d+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)$
et un texte source exemple (onglets convertis en \ t pour plus de clarté):
JJ\t345\t0\tTest\tSome test text\tmore text: pcre:"/\x20\x62\x3b\x0a\x09\x61\x2e\x53\x74\x61\x72/"\tNone
Cependant, le problème est que dans mon texte source, le 6ème champ contient une chaîne regex. Par conséquent, il peut contenir \ x09, ce qui fait naturellement exploser l'expression rationnelle puisqu'elle est également considérée comme un onglet.
Existe-t-il un moyen de dire au moteur de regex, "Match sur \ t mais pas sur le texte \ x09." Ma conjecture est non, car ils sont la même chose. Si ce n'est pas le cas, y a-t-il un caractère qui pourrait être utilisé en toute sécurité pour délimiter le texte contenant une chaîne regex?
Toujours spécifier le moteur et la langue que vous utilisez. (même si je suppose que vous êtes sur PCre donné votre sortie d'échantillon) Les détails et les inconvénients Regexp varient beaucoup d'un moteur (et la langue) à l'autre. – ZJR
Utilisation de la classe intégrée Pattern et Matcher dans Java 1.4.2 – wadesworld