Prerequisito: Espressione regolare con esempi | Pitone
Un'espressione regolare (a volte chiamata espressione razionale) è una sequenza di caratteri che definiscono un modello di ricerca, principalmente da utilizzare nella corrispondenza di modelli con stringhe o nella corrispondenza di stringhe, ovvero operazioni simili a ricerca e sostituzione. Le espressioni regolari sono un modo generalizzato per abbinare modelli con sequenze di caratteri.
Modulo Espressioni regolari (RE) specifica un insieme di stringhe (modello) che lo corrisponde. Per comprendere l’analogia con RE,MetaCharacters>sono utili, importanti e verranno utilizzati nelle funzioni del modulore>.
Ci sono un totale di 14 metacaratteri e verranno discussi man mano che seguono nelle funzioni:
tutorial di Java
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> ricerca()
re.search()>Il metodo restituisce None (se il modello non corrisponde) oppure are.MatchObject>che contiene informazioni sulla parte corrispondente della stringa. Questo metodo si interrompe dopo la prima corrispondenza, quindi è più adatto per testare un'espressione regolare più che per estrarre dati.
Esempio:
Python3
# 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.'>)> |
cos'è GB
>
>
Produzione:
Match at index 14, 21 Full match: June 24 Month: June Day: 24>
re.findall()
Restituisce tutte le corrispondenze non sovrapposte del modello in stringa, come elenco di stringhe. La stringa viene scansionata da sinistra a destra e le corrispondenze vengono restituite nell'ordine trovato.
Esempio:
Python3
neve contro ghiaccio
# 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)> |
rimozione da arraylist
>
>
Produzione:
['123456789', '987654321']>