| . représente n’importe quel caractère sauf saut de line n [] correspond a un des caractères saisi \ w caractère alphabétique \ Wcaractère non alphabétique \ d chiffre (équivaudrait a [0-9]) \ D caractère autre qu'un chiffre \ s caractère espacement \ S caractère autre que caractère espacement QUANTIFIEURS : * : 0 ou plusieurs instances + : 1 ou plusieurs ? : 0 ou 1 correspondance {n} : n correspondances {n,} n ou plus {n,m} : nb de correspondances entre les valeurs n et m AUTRES CARACTERES caractère échappement : sert à annuler ce qui précède; n (saut de ligne); r (retour chariot) $ ^ : correspondance doit se trouver en début de chaine; $ : correspondance doit se trouver en fin de chaine groupe (<valeurs>) alternative (a|b|c) a ou b ou c SUBSTITUTION |
I VERIFIER LA VALIDITE
PrivateSub btnIsMatch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIsMatch.Click
IL SUFFFIT DE PERSONNALISER "[^ \ w \ s]"
If Regex.IsMatch(TextBox1.Text, "[^ \ w \ s]") Then
MessageBox.Show("La Chaîne comporte des caractères invalides")
Else
MessageBox.Show("Chaine valide")
EndIf
EndSub
II TROUVER NB MOTS CORRESPONDANT
PublicSub trouver()
Dim oRegex As Regex
Dim oMacthCollection As MatchCollection
Dim smessageResultat AsString
oRegex = New Regex("soi[enr]") seuls les mots saisis dans textbox1 seront acceptées donc >> "soie;soif;soin;soir;soit"
oMacthCollection = oRegex.Matches(TextBox1.Text)
smessageResultat = "NB mots trouvés : " & oMacthCollection.Count.ToString & Environment.NewLine
'/ Trouver les mots
ForEach m As Match In oMacthCollection
smessageResultat += "Mot '" & m.Value.ToString & "' trouvé position " & m.Index.ToString & Environment.NewLine
Next
'/ Affichage
TextBox2.Text = smessageResultat
EndSub
III SUBSTITUTION
PublicSub substitution()
Dim s AsString
s = "NomFichier.txt"
s=regex.Replace(input,pattern,replacement)
s = Regex.Replace(s, "(?<nf>.*). \ txt", "${nf}" & Now.ToShortDateString & ".txt")
groupe <nf> correspond a une suite quelconque de caracteres
permet de reutiliser avec ${nf} afin de le mettre au debut suivi de la date puis .txt
ce qui donne >> NomFichier10/10:2006.txt
MessageBox.Show(s)
EndSub