[R] StringRegExp trouver un mot entre 2 caractères connus

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
JulienBoul
Niveau 4
Niveau 4
Messages : 82
Enregistré le : ven. 04 déc. 2015 13:55
Status : Hors ligne

[R] StringRegExp trouver un mot entre 2 caractères connus

#1

Message par JulienBoul »

Bonjour,

Je cherche à extraire "NOM PRENOM" sachant que le texte qui encadre ces valeurs est toujours le même. Voici l'expression complète
"Gestion des sinistres - NOM PRENOM (M"
j'avais donc pensé à

Code : Tout sélectionner

StringRegExp("Gestion des sinistres - NOM PRENOM (M", "(?im)^Gestion des sinistres - (\N+) (M", 3)
 
mais ça ne fonctionne pas.

Pouvez vous m'aider à y voir plus clair? D'avance merci !
Modifié en dernier par JulienBoul le jeu. 24 déc. 2015 15:13, modifié 2 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: StringRegExp trouver un mot entre deux caractères connus

#2

Message par orax »

Bonjour, merci de modifier le titre du message pour qu'il respecte les règles de présentation d'un message.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
JulienBoul
Niveau 4
Niveau 4
Messages : 82
Enregistré le : ven. 04 déc. 2015 13:55
Status : Hors ligne

Re: [..] StringRegExp trouver un mot entre 2 caractères conn

#3

Message par JulienBoul »

Bonjour orax,

Autant pour moi, j'ai effectué la modification.
Je te souhaite de joyeuses fêtes de fin d'année.

Cdt, Julien.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] StringRegExp trouver un mot entre 2 caractères conn

#4

Message par jguinch »

Code : Tout sélectionner

$nomprenom = StringRegExpReplace("Gestion des sinistres - NOM PRENOM (M", ".+?- (.+?) \(.+", "$1")
ConsoleWrite($nomprenom)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] StringRegExp trouver un mot entre 2 caractères conn

#5

Message par orax »

Merci Julien, bonnes fêtes également.
L'expression contient une erreur. Il faut échapper la parenthèse.

Code : Tout sélectionner

(?im)^Gestion des sinistres - (\N+) [color=#FF0000]\([/color]M
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
JulienBoul
Niveau 4
Niveau 4
Messages : 82
Enregistré le : ven. 04 déc. 2015 13:55
Status : Hors ligne

Re: [..] StringRegExp trouver un mot entre 2 caractères conn

#6

Message par JulienBoul »

Hello jguinch,

Merci de ta réponse si rapide, je n'ai pas eu le temps de la tester, j'ai simplement échappé ma parenthèse comme l'exemple de orax et nikel, ça fonctionne. Et dire que je me casse la tête dessus depuis 14h... Halala, les expressions régulières et leur rigueur...

Bonne soirée à tout les deux et merci de votre aide encore, ici, c'est Noël tous les jours, partage et gentillesse toute l'année :-)
Je passe en résolut.

Cdt, Julien.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] StringRegExp trouver un mot entre 2 caractères connu

#7

Message par mikell »

Code : Tout sélectionner

#Include <Array.au3>
$res = StringRegExp("Gestion des sinistres - NOM PRENOM (M", "\s([A-Z\h]+)\s", 3)
_ArrayDisplay($res)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [R] StringRegExp trouver un mot entre 2 caractères connu

#8

Message par orax »

Marche pas ça...

Code : Tout sélectionner

StringRegExp("Gestion des sinistres - JEAN PÈRE-NOËL (M", "\s([A-Z\h]+)\s", 3)
► Afficher le texte
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] StringRegExp trouver un mot entre 2 caractères connu

#9

Message par jguinch »

Code : Tout sélectionner

#Include <Array.au3>
$res = StringRegExp("Gestion des sinistres - JEAN PÈRE-NOËL (M", "-\s([\p{Lu}\h-]+)\s", 1)
_ArrayDisplay($res)
 
Sinon, l'option 1 suffit puisqu'il n'y a qu'un seul résultat :wink:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] StringRegExp trouver un mot entre 2 caractères connu

#10

Message par mikell »

orax a écrit :Marche pas ça...
Le commentaire "oui mais là ça marche pô..." pour une réponse à propos d'un regex est un grand classique (que ce soit ici ou sur le forum US) simplement parce que les prérequis ne sont pas précisément mentionnés dans la question, comme c'est le cas dans ce sujet
Donc je suis un peu déçu, j'attendais que ce soit le questionneur qui fasse la remarque pour lui rentrer dedans :twisted:

Tant pis ce sera pour une autre fois :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre