Prérequis: Expression régulière avec exemples | Python
Une expression régulière (parfois appelée expression rationnelle) est une séquence de caractères qui définissent un modèle de recherche, principalement destiné à être utilisé dans la correspondance de modèles avec des chaînes, ou la correspondance de chaînes, c'est-à-dire les opérations de recherche et de remplacement. Les expressions régulières sont un moyen généralisé de faire correspondre des modèles avec des séquences de caractères.
Module Expressions régulières (RE) spécifie un ensemble de chaînes (modèle) qui lui correspond. Pour comprendre l'analogie RE,MetaCharacters>sont utiles, importants et seront utilisés dans les fonctions du modulere>.
Il y a un total de 14 métacaractères et seront discutés au fur et à mesure qu'ils se déclinent en fonctions :
Used to drop the special meaning of character following it (discussed below) [] Represent a character class ^ Matches the beginning $ Matches the end . Matches any character except newline ? Matches zero or one occurrence. | Means OR (Matches with any of the characters separated by it. * Any number of occurrences (including 0 occurrences) + One or more occurrences {} Indicate number of occurrences of a preceding RE to match. () Enclose a group of REs> recherche()
re.search()>La méthode renvoie soit Aucun (si le modèle ne correspond pas), soit unre.MatchObject>qui contient des informations sur la partie correspondante de la chaîne. Cette méthode s'arrête après la première correspondance, elle est donc mieux adaptée pour tester une expression régulière que pour extraire des données.
Exemple:
Python3
sinon si java
xor c++
# A Python program to demonstrate working of re.match().> import> re> > # Lets use a regular expression to match a date string> # in the form of Month name followed by day number> regex>=> r>'([a-zA-Z]+) (d+)'> > match>=> re.search(regex,>'I was born on June 24'>)> > if> match !>=> None>:> > ># We reach here when the expression '([a-zA-Z]+) (d+)'> ># matches the date string.> > ># This will print [14, 21), since it matches at index 14> ># and ends at 21.> >print>(>'Match at index % s, % s'> %> (match.start(), match.end()))> > ># We us group() method to get all the matches and> ># captured groups. The groups contain the matched values.> ># In particular:> ># match.group(0) always returns the fully matched string> ># match.group(1) match.group(2), ... return the capture> ># groups in order from left to right in the input string> ># match.group() is equivalent to match.group(0)> > ># So this will print 'June 24'> >print>(>'Full match: % s'> %> (match.group(>0>)))> > ># So this will print 'June'> >print>(>'Month: % s'> %> (match.group(>1>)))> > ># So this will print '24'> >print>(>'Day: % s'> %> (match.group(>2>)))> > else>:> >print>(>'The regex pattern does not match.'>)> |
>
>
Sortir:
Match at index 14, 21 Full match: June 24 Month: June Day: 24>
re.findall()
Renvoie toutes les correspondances qui ne se chevauchent pas du motif dans la chaîne, sous forme de liste de chaînes. La chaîne est analysée de gauche à droite et les correspondances sont renvoyées dans l'ordre trouvé.
Exemple:
Python3
acteur shweta tiwari
# A Python program to demonstrate working of> # findall()> import> re> > # A sample text string where regular expression> # is searched.> string>=> '''Hello my Number is 123456789 and> >my friend's number is 987654321'''> > # A sample regular expression to find digits.> regex>=> 'd+'> > match>=> re.findall(regex, string)> print>(match)> |
>
>
Sortir:
['123456789', '987654321']>