Expressions régulières - Patterns pour RegExp

JNP

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

Bonjour Jean-Marie :),
Ça fait plaisir de te revoir (je m'étais inquiété pour toi dans mon #19) ;).
Ta bible, je l'ai cité dans mon #26 :p...
C'est vrai qu'elle est sympa. C'est dommage qu'elle soit surtout tournée Web et besoins américains :eek:...
Pour ta suggestion, pourquoi pas, mais on va rapidement alourdir le fichier, alors que les liens permettent de remettre le pattern dans son contexte. A voir :D.
Mettre les codes dans ce fil me parait suffisant :rolleyes:.
Bon dimanche :cool:
 

JNP

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

Bonsoir le fil :),

Vous trouverez ICI un ensemble de fonctions RegExp :
Une fonction d'extraction de sigles en majuscules.
Une fonction de construction de Pattern pour stocker ces sigles, ou tout autre liste qu'il vous plaira.
Enfin une fonction qui vous permettra de séparer le bon grain de l'ivraie :p, je veux dire récupérer d'un côté le texte SANS les mots de la liste d'un côté, et les mots de la liste TROUVÉS dans le texte de l'autre ;).

Un autre exemple ICI concernant un problème bien spécifique : l'ajout de blanc dans un texte sans blanc. Il ne fonctionne qu'à condition d'avoir au moins la première lettre de chaque mot en majuscule et dans le cas de tout majuscule, une alternance entre mot en tout maj. et mot avec 1ère en maj., mais bon, ça peu en intéresser d'autre :rolleyes:.

Enfin, un exemple tout bête ICI, permettant d'extraire un code postal d'un texte brut.

Bonne soirée à toutes et à tous :cool:

PS : Je n'ai pas rajouté les Pattern de ces fils dans le fichier, car ce n'est pas des masques de reconnaissance, mais j'ai ajouté les assertions qui sont une possibilité de traiter le motif en tenant compte de si oui ou non, ce qui précède ou ce qui suit accepte le motif ou non.
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

Bonjour le fil :),
Une petite fonction dérivée du post précédent :
But : Fournir une chaine de mots (séparateur ";") et une plage de recherche. La fonction retourne l'addresse et les occurences trouvées.
VB:
Function RechercheMultiple(AChercher As String, Plage As Range) As String
Application.Volatile
Dim Match, Matches, Tableau, I As Integer, MonPattern As String, Cellule As Range
Tableau = Split(AChercher, ";")
For I = LBound(Tableau) To UBound(Tableau)
MonPattern = MonPattern & "|" & Tableau(I)
Next I
MonPattern = "\b(" & Right(MonPattern, Len(MonPattern) - 1) & ")\b"
For Each Cellule In Plage
With CreateObject("vbscript.regexp")
.Global = True: .Pattern = MonPattern
Set Matches = .Execute(Cellule)
For Each Match In Matches
RechercheMultiple = RechercheMultiple & " - " & Cellule.Address & " : " & Match
Next
End With
Next
If RechercheMultiple <> "" Then
RechercheMultiple = Right(RechercheMultiple, Len(RechercheMultiple) - 3)
Else
RechercheMultiple = "Pas d'occurence"
End If
End Function
Bonne journée :cool:
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

Bonjour à toutes et à tous :),
Grace à l'excellente initiative de David, je suis en train de retraduire ce fil sous une forme plus didactique et plus rapidement accessible sur la FAQ ;).
Je suis parti sous une forme de déclinaison de posts (pour l'instant, je n'ai fait que l'introduction :p), donc cela me prendra du temps (soyez indulgents :rolleyes:).
Au plaisir de lire vos remarques et contributions :cool:
 

C@thy

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

Merci JPN, c'est vrai qu'une récap sur le sujet est très utile. J'engrange ça pour l'hiver, les longues soirées au coin du feu...

Bises

C@thy
 

C@thy

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

Merci JNP pour ce tuto qui est devenu ma Bible.

comment pourrait-on remplacer toutes les minuscules (accentuées ou non) par des majusccules?

ex. Jean-Noël devient JEAN-NOEL
pépé devient PEPE, pèpète devient PEPETE
Evidemment remplacer [a-zéèàùâêîôûäëïöüç] par [A-ZEAIOUC] c pas ça!!!
mais l'idée est quelquepart par là...

oui, je sais, j'suis une enqui...:p mais les plus enqui...:mad: ce sont mes maudits utilisateurs qui me mettent les prénoms tantôt en majuscules, tantôt en minuscules accentuées, et qui me demandent de comparer l'égalité entre les 2...
et je sais que c'est possible mais g pas trouvé comment:confused:... car c'est compliqué eh oui!!!
Une idée?
p'têt qu'il faut faire ça en plusieurs fois, recherche éèë remplacer par E puis les A I O U?

Merci si vous avez même un début de réponse, car il y a 25000 lignes... dans 12 fichiers!

Bisous bisous

C@thy
 

C@thy

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

Hi hi hi, Brigitte parlait de colle...

je crois bien que je viens d'en poser une... (encore une fois!:p Lol!)
Jean-Noël va encore me virer de sa boîte de messages:p :)

euh... Brigitte, pour rester dans les jeux de mots, je dirais que c'est un pattern austère...:rolleyes::)

Bises

C@thy:cool:
 

Modeste

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

Salut C@thy, le fil,

A mon avis, le "pattern austère" est à encadrer :D
Le Père Jean-Noël est peut-être en congés??
J'ai failli proposer une fonction personnalisée, hier (parce que les RegExp et moi ... ce n'est pas pour tout de suite :rolleyes:) ... mais j'ai eu peur de "polluer" ce fil (et je me suis dit que tu y aurais pensé)
 

C@thy

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

A mon avis, le "pattern austère" est à encadrer :D

hihi j'ai pas pu me retenir!! Et une bêtise de plus... mais je n'en dirai plus en 2011... promis... enfin, j'essaierai...

Le Père Jean-Noël est peut-être en congés??
p'têt ben qu'il est en ouacances comme on dit ici...
il va encore faire des bonds en lisant mon nom, le pôv!

J'ai failli proposer une fonction personnalisée, hier (parce que les RegExp et moi ... ce n'est pas pour tout de suite :rolleyes:)
Eh ben moi non plus, figure-toi... mais je trouve ça merveilleux, ça m'épate toujours ce qu'on peut faire avec, mais fô comprendre comment ça marche, et là, malgré les zexplications du chef JNP ça demeure toujours aussi austère pour moi... d'où le jeu de mots.

... mais j'ai eu peur de "polluer" ce fil (et je me suis dit que tu y aurais pensé)
pt'êt ben que j'y aurais pensé mais je ne sais pas comment l'écrire...:confused:

Bises

C@thy
 

Modeste

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

re,

à toutes fins utiles, ce que j'avais fait, hier, dans un fichier à toi (récupéré ici ... je me disais qu'il y avait un rapport)
... Ceci dit, une petite recherche m'avait aussi permis de trouver une intervention de Staple1600 (Tiens quand on parle du loup !! Salut JM :)) bien plus concise :eek:
 

Pièces jointes

  • Prénoms (Cathy).zip
    26.2 KB · Affichages: 64

C@thy

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

Merci modeste, oui, tu as bien fait le rapprochement,
c'est exactement ça!!!:)

Et la macro-fonction fonctionne super bien (une fonction, c'est comme un fonctionnaire, ça fonctionne!!)

cela dit, Ti disait toujours que la meilleure macro c'est celle qu'on évite d'écrire, c'est pourquoi je cherchais un pattern, mais je sais bien que ce n'est pas facile...
En plus, là il faut une colonne supplémentaire, et normalement j'ai pas le droit de rajouter des colonnes à leur fichier (normalement...)

Dis-moi, à propos de prénom, tu as le même que JNP à ce que je vois (il en a 2 m'a-t-il dit : Modeste:mad: et Parfait:rolleyes:)

Bises

macro engrangée dans mon grenier pour l'hiver...:cool:

Bises a tutti

C@thy
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

re,

la meilleure macro c'est celle qu'on évite d'écrire, c'est pourquoi je cherchais un pattern
Euh !? Ca reste quand même un peu vba, non, les RegExp et autres patterns?

Pour ce qui est de Jean-Noël et de ses 2 prénoms, il aurait pu être surréalistement belge, celui-là :D ... Une cigogne qui cultive le paradoxe: on aura tout vu, ici!
 

Brigitte

XLDnaute Barbatruc
Re : Expressions régulières - Patterns pour RegExp

Arf, coucou...

Profitez en JN est en vadrouille par chez moi, j'ai d'ailleurs eu la chance de dîner avec lui pas plus tard qu'hier soir... mais quand il va rentrer, ca va chauffer, je vous préviens, hihi...

Je parle de ses neurones, bien sûr.
 

Statistiques des forums

Discussions
315 098
Messages
2 116 189
Membres
112 679
dernier inscrit
Yupanki