RegEx Python
- Pagina precedente JSON Python
- Pagina successiva PIP Python
RegEx o espressione regolare è una sequenza di caratteri che forma il modello di ricerca.
RegEx può essere utilizzato per verificare se una stringa contiene il modello di ricerca specificato.
RegEx
Python fornisce un modulo chiamato re
Il pacchetto built-in, utilizzabile per gestire le espressioni regolari。
Importa re
Modulo:
import re
RegEx in Python
Importa re
Dopo il modulo,puoi iniziare a usare l'espressione regolare:
Esempio
Ricerca la stringa per vedere se inizia con "China" e termina con "country":
import re txt = "China is a great country" x = re.search("^China.*country$", txt)
Funzioni RegEx
re
Il modulo fornisce un insieme di funzioni che ci permettono di ricercare le stringhe per corrispondenze:
Funzione | Descrizione |
---|---|
findall | Restituisce una lista che contiene tutte le corrispondenze |
search | Se esiste una corrispondenza in qualsiasi posizione della stringa, restituisce un oggetto Match |
split | Restituisce una lista che divide la stringa in ogni corrispondenza |
sub | Sostituisci una o più corrispondenze con una stringa |
Meta-carattere
I meta-caratteri sono caratteri che hanno un significato speciale:
Carattere | Descrizione | Esempio | TIY |
---|---|---|---|
[] | Un insieme di caratteri | "[a-m]" | Prova: |
\ | Sequenza speciale illustrativa(può anche essere usata per escapare i caratteri speciali) | "\d" | Prova: |
. | Qualsiasi carattere(eccetto il carattere di newline) | "he..o" | Prova: |
^ | Inizia con | "^hello" | Prova: |
$ | Finisce con | "world$" | Prova: |
* | Apparizioni zero o più volte | "aix*" | Prova: |
+ | Una o più apparizioni | "aix+" | Prova: |
{} | Apparizioni esattamente specificate | "al{2}" | Prova: |
| | O uno o l'altro | "falls|stays" | Prova: |
() | Cattura e raggruppamento |
Sequenza speciale
Una sequenza speciale indica \
Seguito da uno dei caratteri dell'elenco seguente, ha un significato speciale:
Carattere | Descrizione | Esempio | TIY |
---|---|---|---|
\A | Se il carattere specificato si trova all'inizio della stringa, restituisce la corrispondenza | "\AThe" | Prova: |
\b | Restituisce una corrispondenza in cui il carattere specificato si trova all'inizio o alla fine di una parola |
r"\bain" r"rain\b" |
Prova: Prova: |
\B | Restituisce una corrispondenza in cui il carattere specificato esiste, ma non è all'inizio di una parola(o alla fine) |
r"\Bain" r"rain\B" |
Prova: Prova: |
\d | Restituisce una corrispondenza in cui la stringa contiene numeri(数字 0-9) | "\d" | Prova: |
\D | Restituisce una corrispondenza in cui la stringa non contiene numeri | "\D" | Prova: |
\s | Restituisce una corrispondenza in cui la stringa contiene spazi bianchi | "\s" | Prova: |
\S | Restituisce una corrispondenza in cui la stringa non contiene spazi bianchi | "\S" | Prova: |
\w | Restituisce una corrispondenza in cui la stringa contiene qualsiasi carattere word (从 a 到 Z 的字符,从 0 到 9 的数字和下划线 _ 字符) |
"\w" | Prova: |
\W | Restituisce una corrispondenza in cui la stringa non contiene alcun carattere word | "\W" | Prova: |
\Z | Se restituisce la corrispondenza se il carattere specificato si trova alla fine della stringa | "Spain\Z" | Prova: |
Set(集合)
L'insieme (Set) è formato da un paio di parentesi quadre []
Un insieme di caratteri, con significato speciale:
Set | Descrizione | Prova: |
---|---|---|
[arn] | Restituisce una corrispondenza che contiene uno dei caratteri specificati (a, r o n) | Prova: |
[a-n] | Restituisce le corrispondenze di qualsiasi carattere minuscolo tra a e n | Prova: |
[^arn] | Restituisce le corrispondenze di qualsiasi carattere diverso da a, r e n | Prova: |
[0123] | Restituisce le corrispondenze che contengono qualsiasi numero specificato (0, 1, 2 o 3) | Prova: |
[0-9] | Restituisce le corrispondenze di qualsiasi numero tra 0 e 9 | Prova: |
[0-5][0-9] | Restituisce le corrispondenze di qualsiasi numero tra 0 e 9 | Prova: |
[a-zA-Z] | Restituisce le corrispondenze di qualsiasi carattere tra a e z, minuscolo o maiuscolo | Prova: |
[+] | Nel set, +, *, ., |, (), $, {} non hanno significato speciale, quindi [+] rappresenta: restituisce tutte le corrispondenze di ogni carattere + nella stringa | Prova: |
La funzione findall()
findall()
La funzione restituisce una lista che contiene tutte le corrispondenze.
Esempio
Stampa la lista di tutte le corrispondenze:
import re str = "China is a great country" x = re.findall("a", str) print(x)
Questa lista contiene le corrispondenze trovate nell'ordine in cui sono state trovate.
Se non viene trovata una corrispondenza, viene restituita una lista vuota:
Esempio
Se non viene trovata una corrispondenza, viene restituita una lista vuota:
import re str = "China is a great country" x = re.findall("USA", str) print(x)
La funzione search()
search()
La funzione ricerca la corrispondenza nella stringa e restituisce un oggetto Match se esiste una corrispondenza.
Se ci sono più corrispondenze, viene restituita solo la prima corrispondenza:
Esempio
Cerca il primo carattere di spaziatura nella stringa:
import re str = "China is a great country" x = re.search("\s", str) print("La prima carattere di spaziatura è situato nella posizione:", x.start())
Se non viene trovata una corrispondenza, viene restituito il valore: Nessuno
:
Esempio
Ricerca senza restituire la corrispondenza:
import re str = "China is a great country" x = re.search("USA", str) print(x)
La funzione split()
split()
La funzione restituisce una lista in cui la stringa viene divisa ogni volta che si verifica una corrispondenza:
Esempio
Dividi la stringa in ogni carattere di spaziatura:
import re str = "China is a great country" x = re.split("\s", str) print(x)
Puoi specificare maxsplit
Parametro per controllare il numero di occorrenze:
Esempio
Dividi la stringa solo alla prima occorrenza:
import re str = "China is a great country" x = re.split("\s", str, 1) print(x)
La funzione sub()
sub()
La funzione sostituisce la corrispondenza con il testo selezionato:
Esempio
Con il numero 9 sostituisci ogni carattere di spaziatura:
import re str = "China is a great country" x = re.sub("\s", "9", str) print(x)
Puoi specificare count
Parametro per controllare il numero di sostituzioni:
Esempio
Sostituire le prime due occorrenze:
import re str = "China is a great country" x = re.sub("\s", "9", str, 2) print(x)
Oggetto Match
L'oggetto Match è un oggetto che contiene informazioni sulla ricerca e i risultati.
Nota:Se non ci sono corrispondenze, viene restituito il valore Nessuno
invece di Oggetto Match.
Esempio
Esegui una ricerca che restituirà un oggetto Match:
import re str = "China is a great country" x = re.search("a", str) print(x) # Stampa un oggetto
L'oggetto Match fornisce attributi e metodi per ottenere informazioni sulla ricerca e i risultati:
span()
Il tuple restituito contiene la posizione di inizio e fine della corrispondenza.string
Restituire la stringa passata alla funzionegroup()
Restituire la parte di stringa corrispondente
Esempio
Stampare la posizione della prima corrispondenza trovata (posizione di inizio e fine).
Cerca ogni parola che inizia con la lettera "C" in maiuscolo con l'espressione regolare:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.span())
Esempio
Stampare la stringa passata alla funzione:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.string)
Esempio
Stampare la parte di stringa corrispondente.
Cerca ogni parola che inizia con la lettera "C" in maiuscolo con l'espressione regolare:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.group())
Nota:Se non ci sono corrispondenze, viene restituito il valore Nessuno
invece di Oggetto Match.
- Pagina precedente JSON Python
- Pagina successiva PIP Python