Récupérer des champs à remplir depuis un fichier texte

Messages postés
29
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
4 août 2019
- - Dernière réponse : Whismeril
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
- 24 août 2019 à 15:33
Bonjour:

Je cherche à récupérer des champs à remplir dans textarea depuis un fichier texte.

Les données entre bloc texte sur plusieurs lignes (entre "DATA") sont variables.

Note: INFO varient entre 10 jusqu’à 20 à partir du cinquième ligne

Exemple :
INFO-10-0 jusqu’à INFO-10-20( voir fichier joint)

Le fichier texte est le suivant :




j'ai utilisé le code suivant mais il me donne seulement groupe 1 et 2 de chaque nouvel ligne de DATA



try (Scanner sc = new Scanner(new File("C:\\text.txt"))) {
sc.useDelimiter("DATA");
String z = "\\s+(\\S+)";
Pattern pattern = Pattern.compile(z+z+z+z+z+z+z+z+z+z+z+z+z+z+z);
while (sc.hasNext()) {
Matcher matcher = pattern.matcher(sc.next());
if (matcher.find()) {

textArea.append("LEVELINFO=DATA=" + matcher.group(1) + " &&NAME= " + matcher.group(2) +"
&&VERAT2= matcher.group(8) +"&&CMD4= matcher.group(14) +";"+"\n");
textArea.append(""+"\n");




je cherche a avoir ceci :

la premiere ligne de DATA

LEVELINFO=DATA=INFO-10&&NAME=EQUIP&&VERAT2=v22&&CMD4= BYTE

le deuxième ligne de DATA

LEVELINFO=DATA=MAC1=$1&&MAC2=IPARP

LE troixième ligne de data :

LEVELINFO=DATA=INFO-10


la quatrime ligne de DATa

LEVELINFO=DATA=INFO-10&&ADRS=1&&4

la cinqieme ligne de data:

LEVELINFO=DATA=INFO-10-0&&NAMEPLAT=EQUIPW&&TI =0&&VAL1=10&&VAL2=11&&13

le 20 ieme ligne de DATA

LEVELINFO=DATA=INFO-10-20&&NAMEPLAT=EQUIPZ&&TI =0&&VAL1=40&&VAL2=50&&20

le 21 ieme ligne de DATA

LEVELINFO=DATA=MAC1=$100&&MAC2=IPARP200


Comment faire un break dans chaque nouvel ligne dans DATA dans l'expression régulière ?

Merci pour support et suggestion .
Afficher la suite 

20/35 réponses

Messages postés
29
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
4 août 2019
0
Merci
salut:

esct ce qu'ont peux mettre plusieur pattern ?, là je bloque parceque le code que j'ai mis me donne seulement groupe1 &2 de chaque ligne .


try (Scanner sc = new Scanner(new File("C:\\text.txt"))) {
        sc.useDelimiter("DATA");
        String z = "\\s+(\\S+)";
        Pattern pattern = Pattern.compile(z+z+z+z+z+z+z+z+z+z+z+z+z+z+z);
        while (sc.hasNext()) {
            Matcher matcher = pattern.matcher(sc.next());
            if (matcher.find()) {                  
          
        textArea.append("LEVELINFO=DATA=" + matcher.group(1) + " &&NAME=  " + matcher.group(2) +" 
&&VERAT2= matcher.group(8) +"&&CMD4= matcher.group(14) +";"+"\n"); 
       textArea.append(""+"\n");


merci pour votre et support
Commenter la réponse de dino34
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
322
0
Merci
Bonjour

je ne code pas en Java, mais les regex j'aime bien.

Pour que je puisse essayer, il faudrait que je copie colle ton fichier texte, mets le entre balises de code sinon les tabulations et les espaces seront supprimés par le site.

PS: pour ton code il faut préciser que c'est du java pour que l'affichage soit correct, voir ici
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

PS2: est ce que les regex en Java accepter les groupes avec un nom, c'est plus simple pour récupérer les captures
Commenter la réponse de Whismeril
Messages postés
29
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
4 août 2019
0
Merci
Salut:

merci pour votre réponse , voici ci-dessous le fichier texte :

le mot DATA ce répète dans chaque début de bloc . j'ai utilisé dans le délimiteur .

je cherche à utilisé expression régulière dans java eclipse.



DATA NAME MAC1 MAC2
INFO-0 EQUIP Q10 Q13

VL VER VERAT2 MAP
V22 V22 SELF100

CMD1 CMD2 CMD3 CMD4 CMD5
NO 44 FAL BYTE



DATA MAC1 MAC2
INFOG-0 $1 IPARP

DLD
FG
DATA
INFOT-0 NO INFO


DATA ADRS
INFOC-0 1 2
3 4


DATA NAMEPLAT GR NI SI TI VAL1 WC
INFOP-0-0 EQUIPW ONE 0 NC 0 10

PL VER2 VER VAL2
11
12
13





Commenter la réponse de dino34
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
322
0
Merci
J’ai l’impression que le formatage n’a pas été conservé comme il faut.
Peux tu vérifier et si c’est pas bon mettre un fichier sur un serveur de transfert genre cjoint.com

Commenter la réponse de Whismeril
Messages postés
29
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
4 août 2019
0
Merci
salut:

veuillez trouver le lien cité ci-dessous:

https://www.cjoint.com/c/IHcrTh8XAD7.

merci

--
Commenter la réponse de dino34
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
322
0
Merci
Bonjour
Pour chaque type d’info le formatage est très différent.
Il est sans doute possible de trouver une regex qui va chercher toutes tes infos d’un coup, mais elle va être très compliquée et peut-être même longue à exécuter.
Je te propose une regex par « ligne »

Voila pour la première
DATA\s+NAME.*\nINFO-0\s+(?<name>[$\w]+).*\n.*\n.*VERAT2.*\n\s+\w+\s+(?<verat2>\w+).*\n.*\n.*CMD4.*\n(?:\s+\w+){3}\s+(?<cmd4>\w+)


Regarde ce site, dans l’onglet Table, les informations que tu cherches sont dans les groupes « name », « verat2 » et « cmd4 »
http://regexstorm.net/tester?p=DATA%5cs%2bNAME.*%5cnINFO-0%5cs%2b%28%3f%3cname%3e%5b%24%5cw%5d%2b%29.*%5cn.*%5cn.*VERAT2.*%5cn%5cs%2b%5cw%2b%5cs%2b%28%3f%3cverat2%3e%5cw%2b%29.*%5cn.*%5cn.*CMD4.*%5cn%28%3f%3a%5cs%2b%5cw%2b%29%7b3%7d%5cs%2b%28%3f%3ccmd4%3e%5cw%2b%29&i=DATA++++++++++++++NAME++++++++++++++++++++++++++++++++++MAC1++MAC2%0d%0aINFO-0++++++++++++EQUIP+++++++++++++++++++++++++++++++++Q10++++Q13%0d%0a%0d%0a++++++++++++++++++VL++++++++++++++++++++VER+++++VERAT2+++++MAP%0d%0a++++++++++++++++++++++++++++++++++++++++V22+++++V22+++++++SELF100%0d%0a%0d%0a++++++++++++++++++CMD1+CMD2+++++++CMD3+++++CMD4+++++CMD4++%0d%0a++++++++++++++++++NO++++44++++++++FAL++++++BYTE%0d%0a%0d%0a++++++++++++++++%0d%0a%0d%0aDATA+++++++++++++MAC1++++++MAC2%0d%0aINFOG-0+++++++++++%241+++++++IPARP%0d%0a%0d%0a+++++++++++++++++++++++++++DLD%0d%0a+++++++++++++++++++++++++++FG%0d%0aDATA+%0d%0aINFOT-0++++++++++NO+INFO%0d%0a%0d%0a%0d%0aDATA+++++++++++++++ADRS%0d%0aINFOC-0++++++++++++1++++2%0d%0a+++++++++++++++++++3++++4++%0d%0a++++++++++++++++++++%0d%0a%0d%0aDATA++++++++++++++NAMEPLAT++++++GR++++NI++++++SI+++++++TI+++++++VAL1+++++WC%0d%0aINFOP-0-0+++++++++EQUIPW+++++++ONE++++0++++++++NC+++++++0+++++++++10%0d%0a%0d%0a++++++++++++++++++PL++++++++++VER2+++++++VER++++++++++++++++++++VAL2%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Commenter la réponse de Whismeril
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
322
0
Merci
La seconde

INFOG-0\s+(?<mac1>[$\w]+)\s+(?<mac2>[$\w]+)


Les infos sont dans les groupes « mac1 » et « mac2 »
http://regexstorm.net/tester?p=INFOG-0%5cs%2b%28%3f%3cmac1%3e%5b%24%5cw%5d%2b%29%5cs%2b%28%3f%3cmac2%3e%5b%24%5cw%5d%2b%29&i=DATA++++++++++++++NAME++++++++++++++++++++++++++++++++++MAC1++MAC2%0d%0aINFO-0++++++++++++EQUIP+++++++++++++++++++++++++++++++++Q10++++Q13%0d%0a%0d%0a++++++++++++++++++VL++++++++++++++++++++VER+++++VERAT2+++++MAP%0d%0a++++++++++++++++++++++++++++++++++++++++V22+++++V22+++++++SELF100%0d%0a%0d%0a++++++++++++++++++CMD1+CMD2+++++++CMD3+++++CMD4+++++CMD4++%0d%0a++++++++++++++++++NO++++44++++++++FAL++++++BYTE%0d%0a%0d%0a++++++++++++++++%0d%0a%0d%0aDATA+++++++++++++MAC1++++++MAC2%0d%0aINFOG-0+++++++++++%241+++++++IPARP%0d%0a%0d%0a+++++++++++++++++++++++++++DLD%0d%0a+++++++++++++++++++++++++++FG%0d%0aDATA+%0d%0aINFOT-0++++++++++NO+INFO%0d%0a%0d%0a%0d%0aDATA+++++++++++++++ADRS%0d%0aINFOC-0++++++++++++1++++2%0d%0a+++++++++++++++++++3++++4++%0d%0a++++++++++++++++++++%0d%0a%0d%0aDATA++++++++++++++NAMEPLAT++++++GR++++NI++++++SI+++++++TI+++++++VAL1+++++WC%0d%0aINFOP-0-0+++++++++EQUIPW+++++++ONE++++0++++++++NC+++++++0+++++++++10%0d%0a%0d%0a++++++++++++++++++PL++++++++++VER2+++++++VER++++++++++++++++++++VAL2%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Commenter la réponse de Whismeril
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
322
0
Merci
Pour la 3eme ligne comme y’a pas de données dans ton exemple, je ne sais pas à quoi elles ressembleraient
Commenter la réponse de Whismeril
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
322
0
Merci
La 4eme
INFOC-0\s+(?<adrs1>\d+).*\n\s+\d+\s+(?<adrs2>\d+)


Les infos sont dans les groupes « adrs1 » et « adrs2 »
http://regexstorm.net/tester?p=INFOC-0%5cs%2b%28%3f%3cadrs1%3e%5cd%2b%29.*%5cn%5cs%2b%5cd%2b%5cs%2b%28%3f%3cadrs2%3e%5cd%2b%29&i=DATA++++++++++++++NAME++++++++++++++++++++++++++++++++++MAC1++MAC2%0d%0aINFO-0++++++++++++EQUIP+++++++++++++++++++++++++++++++++Q10++++Q13%0d%0a%0d%0a++++++++++++++++++VL++++++++++++++++++++VER+++++VERAT2+++++MAP%0d%0a++++++++++++++++++++++++++++++++++++++++V22+++++V22+++++++SELF100%0d%0a%0d%0a++++++++++++++++++CMD1+CMD2+++++++CMD3+++++CMD4+++++CMD4++%0d%0a++++++++++++++++++NO++++44++++++++FAL++++++BYTE%0d%0a%0d%0a++++++++++++++++%0d%0a%0d%0aDATA+++++++++++++MAC1++++++MAC2%0d%0aINFOG-0+++++++++++%241+++++++IPARP%0d%0a%0d%0a+++++++++++++++++++++++++++DLD%0d%0a+++++++++++++++++++++++++++FG%0d%0aDATA+%0d%0aINFOT-0++++++++++NO+INFO%0d%0a%0d%0a%0d%0aDATA+++++++++++++++ADRS%0d%0aINFOC-0++++++++++++1++++2%0d%0a+++++++++++++++++++3++++4++%0d%0a++++++++++++++++++++%0d%0a%0d%0aDATA++++++++++++++NAMEPLAT++++++GR++++NI++++++SI+++++++TI+++++++VAL1+++++WC%0d%0aINFOP-0-0+++++++++EQUIPW+++++++ONE++++0++++++++NC+++++++0+++++++++10%0d%0a%0d%0a++++++++++++++++++PL++++++++++VER2+++++++VER++++++++++++++++++++VAL2%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Commenter la réponse de Whismeril
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
322
0
Merci
Pour la dernière, j’ai copier collé plusieurs fois la ligne pour avoir de lignes de 0 à 10 et des lignes qui ne marchent pas
INFOP-0-(?:10|\d)\s+(?<namePlat>\w+)\s+(?:\w+\s+){3}(?<ti>\d+)\s+(?<val1>\d+).*\n.*\n.*\n.*(?<val21>\d+).*\n.*\n.*(?<val22>\d+)


Les données sont dans les groupes « val1 », « val21 » et « val22 »
http://regexstorm.net/tester?p=INFOP-0-%28%3f%3a10%7c%5cd%29%5cs%2b%28%3f%3cnamePlat%3e%5cw%2b%29%5cs%2b%28%3f%3a%5cw%2b%5cs%2b%29%7b3%7d%28%3f%3cti%3e%5cd%2b%29%5cs%2b%28%3f%3cval1%3e%5cd%2b%29.*%5cn.*%5cn.*%5cn.*%28%3f%3cval21%3e%5cd%2b%29.*%5cn.*%5cn.*%28%3f%3cval22%3e%5cd%2b%29&i=INFOP-0-0+++++++++EQUIPW+++++++ONE++++0++++++++NC+++++++0+++++++++10%0d%0a%0d%0a++++++++++++++++++PL++++++++++VER2+++++++VER++++++++++++++++++++VAL2%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++11%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++12%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++13+++++++++++++++++++++++++++++++++++++++++++++++++++%0d%0aINFOP-0-10+++++++++EQUIPW+++++++ONE++++0++++++++NC+++++++0+++++++++10%0d%0a%0d%0a++++++++++++++++++PL++++++++++VER2+++++++VER++++++++++++++++++++VAL2%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++11%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++12%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++13%0d%0aINFOP-0-11+++++++++EQUIPW+++++++ONE++++0++++++++NC+++++++0+++++++++10%0d%0a%0d%0a++++++++++++++++++PL++++++++++VER2+++++++VER++++++++++++++++++++VAL2%0d%0a++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++11%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++12%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++13%0d%0aINFOP-0-6+++++++++EQUIPW+++++++ONE++++0++++++++NC+++++++0+++++++++10%0d%0a%0d%0a++++++++++++++++++PL++++++++++VER2+++++++VER++++++++++++++++++++VAL2%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++11%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++12%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++13+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Le permalik étant limité en taille, tu n’as qu’un exemple ligne qui ne marche pas
Commenter la réponse de Whismeril
Messages postés
29
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
4 août 2019
0
Merci
salut:

merci beaucoup pour votre support .

C’est la première fois que j'utilise les expressions régulière, je ne sais pas comment utilisé toutes les expressions régulière fournies dans mon cas.

merci beaucoup.

--
Commenter la réponse de dino34
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
322
0
Merci
Un tuto pour les regex en java

https://cyberzoide.developpez.com/tutoriels/java/regex/

Un complément avec les groupes nommés
https://askcodez.com/expression-reguliere-nomme-capturer-les-groupes-de-soutien-dans-java-7.html

Pour chaque regex que je t’ai proposée, j’ai mis un lien très long dans un encadré gris, tu copies/colles ce lien dans ton navigateur, tu regardes les captures surlignées dans le texte et les résultats des groupes dans l’onglet Table

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Commenter la réponse de Whismeril
0
Merci
salut Whismeril:

je cherche à modifier cette expression merci de me corrigé :

"(?<INFO->\\d{1,2}\\s)+(?<name>[$\\w]+).*"


je cherche à mettre INFO- comme nom de groupe dans l’expression régulière.

j'ai le message d'erreur suivant:

named capturing group is missing trailing '>'



merci
Commenter la réponse de dino34
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
322
0
Merci
Un nom de groupe doit être du texte, le - n'est pas accepté.
Commenter la réponse de Whismeril
0
Merci
salut :

même avec les modifications apportées riens n'est affiché sur la console .

"(?<INFO>-\\d{1,2}\\s)+(?<name>[$\\w]+).*"


merci
Commenter la réponse de dino34
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
322
0
Merci
C’est quoi le texte d’entrée?
Commenter la réponse de Whismeril
0
Merci
il est dans le lien en pièce jointe :

https://www.cjoint.com/c/IHcrTh8XAD7

"\\s+NAME.*" + "\\r?\\n"+ "(?<INFO>-\\d{1,2}\\s)+(?<name>[$\\w]+).*" + "\\r?\\n"


merci
Commenter la réponse de dino34
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
322
0
Merci
Tu confonds le nom du groupe et le texte à capturer.

Le nom du groupe c'est un peu comme une variable, dans laquelle sera stocké le texte capturé

En plus, plus haut, je t'ai montré qu'il n'était pas forcément nécessaire de capturer la ligne avant celle qui commence par INFO, et plus la capture est simple, plus la regex est simple, rapide et efficace

Le
\r?
ne sert à rien,
.*
l'englobe.

Enfin, tu as un
\s
et un
+
mal placés, il doivent être ensembles, en dehors de la parenthèses, c'est pas
"INFO-1 "
que tu cherches à capturer plusieurs fois, mais bien plusieurs espaces après
"INFO-1"


Donc en capturant les 2 lignes ça donne
\s+NAME.*\n(?<info>INFO-\d{1,2})\s+(?<name>[$\w]+).*

Ici exemple
http://regexstorm.net/tester?p=%5cs%2bNAME.*%5cn%28%3f%3cinfo%3eINFO-%5cd%7b1%2c2%7d%29%5cs%2b%28%3f%3cname%3e%5b%24%5cw%5d%2b%29.*&i=DATA++++++++++++++NAME++++++++++++++++++++++++++++++++++MAC1++MAC2%0d%0aINFO-0++++++++++++EQUIP+++++++++++++++++++++++++++++++++Q10++++Q13%0d%0a%0d%0a++++++++++++++++++VL++++++++++++++++++++VER+++++VERAT2+++++MAP%0d%0a++++++++++++++++++++++++++++++++++++++++V22+++++V22+++++++SELF100%0d%0a%0d%0a++++++++++++++++++CMD1+CMD2+++++++CMD3+++++CMD4+++++CMD4++%0d%0a++++++++++++++++++NO++++44++++++++FAL++++++BYTE%0d%0a%0d%0a++++++++++++++++%0d%0a%0d%0aDATA+++++++++++++MAC1++++++MAC2%0d%0aINFOG-0+++++++++++%241+++++++IPARP%0d%0a%0d%0a+++++++++++++++++++++++++++DLD%0d%0a+++++++++++++++++++++++++++FG%0d%0aDATA+%0d%0aINFOT-0++++++++++NO+INFO%0d%0a%0d%0a%0d%0aDATA+++++++++++++++ADRS%0d%0aINFOC-0++++++++++++1++++2%0d%0a+++++++++++++++++++3++++4++%0d%0a++++++++++++++++++++%0d%0a%0d%0aDATA++++++++++++++NAMEPLAT++++++GR++++NI++++++SI+++++++TI+++++++VAL1+++++WC%0d%0aINFOP-0-0+++++++++EQUIPW+++++++ONE++++0++++++++NC+++++++0+++++++++10%0d%0a%0d%0a++++++++++++++++++PL++++++++++VER2+++++++VER++++++++++++++++++++VAL2%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++11%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++12%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++13

Et en ne capturant que ce qui est nécessaire
(?<info>INFO-\d{1,2})\s+(?<name>[$\w]+).*

http://regexstorm.net/tester?p=%28%3f%3cinfo%3eINFO-%5cd%7b1%2c2%7d%29%5cs%2b%28%3f%3cname%3e%5b%24%5cw%5d%2b%29.*&i=DATA++++++++++++++NAME++++++++++++++++++++++++++++++++++MAC1++MAC2%0d%0aINFO-0++++++++++++EQUIP+++++++++++++++++++++++++++++++++Q10++++Q13%0d%0a%0d%0a++++++++++++++++++VL++++++++++++++++++++VER+++++VERAT2+++++MAP%0d%0a++++++++++++++++++++++++++++++++++++++++V22+++++V22+++++++SELF100%0d%0a%0d%0a++++++++++++++++++CMD1+CMD2+++++++CMD3+++++CMD4+++++CMD4++%0d%0a++++++++++++++++++NO++++44++++++++FAL++++++BYTE%0d%0a%0d%0a++++++++++++++++%0d%0a%0d%0aDATA+++++++++++++MAC1++++++MAC2%0d%0aINFOG-0+++++++++++%241+++++++IPARP%0d%0a%0d%0a+++++++++++++++++++++++++++DLD%0d%0a+++++++++++++++++++++++++++FG%0d%0aDATA+%0d%0aINFOT-0++++++++++NO+INFO%0d%0a%0d%0a%0d%0aDATA+++++++++++++++ADRS%0d%0aINFOC-0++++++++++++1++++2%0d%0a+++++++++++++++++++3++++4++%0d%0a++++++++++++++++++++%0d%0a%0d%0aDATA++++++++++++++NAMEPLAT++++++GR++++NI++++++SI+++++++TI+++++++VAL1+++++WC%0d%0aINFOP-0-0+++++++++EQUIPW+++++++ONE++++0++++++++NC+++++++0+++++++++10%0d%0a%0d%0a++++++++++++++++++PL++++++++++VER2+++++++VER++++++++++++++++++++VAL2%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++11%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++12%0d%0a+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++13
Commenter la réponse de Whismeril
0
Merci
salut:

quand je met (?<info>INFO-\d{1,2})\s+(?<name>[$\w]+).* dans mon code

il m'affiche le code d'erreur cité ci-dessous:

Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )

merci
Commenter la réponse de dino34
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 décembre 2019
322
0
Merci
Oui, je t'ai donné la regex "finie", toi tu la construis avec une string dans Java, il te faut donc échappé les \ donc par exemple \s devient \\s.

Mais si moi je fais ça, l'exemple ne marche plus
Commenter la réponse de Whismeril