Extraire un mot entre deuxvirgules dans une chaine - Java - Programmation
Marsh Posté le 25-03-2020 à 08:28:06
Bonjour,
Désolé ma demande comporte une errreur voici les chaines rectifiées.
Mes chaines sont de la forme :
"1 PLAC Town , Area code , County , Region , Country, SubdivisionTour
2 FOO Pli , Tour"
Je cherche a creer un "pattern"
Je sais extraire exclusivement "Town" avec "(?ms).*^\d\sPLAC\s([^,]*),.*$"
Q1 - Comment s'écrit maintenant la RegEx Java pour extraire exclusivement"Country"
Q2 - Comment s'écrit la RegEx Java pour extraire ensemble "Town Country"" ou mieux "Town - Country" (avec le séparateur "-" )
Merci a celui (ceux) qui m'aide(ent)
Salutations
Marsh Posté le 28-03-2020 à 12:08:22
1/ Regex testeur
Suite a ta remarque mentionnant que les moteurs Regex testeur répondent différemment
J'ai donc testé <Notepad++>, <Regexstorm.net> et <Regex101.com>. Ce dernier <Regex101.com> me renvoide manière fiable des résultats correspondant à ma demande.. je m'en tiens donc à ce testeur.
2/ Des Regex
Mes chaines sont de la forme :
"
etc ...
0 @3I@ INDI
1 NAME Ren Mar Eugé/Mlé/
2 GIVN Ree Mare Eug
2 SURN Mué
1 SEX F
1 BIRT"0 @@
2 DATE 15 AUG 1884
1 PLAC Ville , Code Ville , Département , Région , Pays, SubdivisionTour
2 FOO Pli , Tour
.. etc"
Je sais extraire exclusivement (après bien des efforts !!)
<dans DATE> <15 AUG 1884> avec <(?ms).*^\d\sDATE\s([^\r\n]*).*$>
<dans PLAC Ville> <Ville> avec <(?ms).*^\d\sPLAC\s([^,]*),.*$>
<dans PLAC> <Code Ville> avec <(?ms).*^\d\sPLAC\s[^,]*,([^,]*),.*$>
<dans PLAC> <Pays> avec <(?ms).*^\d\sPLAC\s[^,]*,([^,]*),([^,]*),([^,]*),([^,]*),.*$>
or mieux avec
<(?ms).*^\d\sPLAC\s(?:[^\,]*\,){4}([^,]*).*$>
Q1 - Y a t'il dans ces Regex des fautes d'orthographe ?
Q2 - Comment s'écrit la RegEx Java pour extraire
<dans PLAC> ensemble "Ville Pays"" ou mieux "Ville - Pays" (avec un séparateur, par exemple "-" )
Merci a celui (ceux) qui m'aide(ent)
Salutations
Marsh Posté le 24-03-2020 à 08:50:16
Bonjour,
Mes chaines sont de la forme :
"1 FORM Town , Area code , County , Region , Country, SubdivisionTour
2 FOO Pli , Tour"
Je sais extraire exclusivement "Town" avec "(?ms).*^\d\sPLAC\s([^,]*),.*$"
Q1 - Comment s'écrit maintenant la RegEx Java pour extraire exclusivement "Country"
Q2 - Comment s'écrit la RegEx Java pour extraire ensemble "Town Country"" ou mieux "Town - Country" (avec le séparateur "-" )
Merci a celui (ceux) qui m'aide(ent)
Salutations