Genera e spiega intelligentemente le espressioni regolari, supporta vari pattern di corrispondenza comuni
Converti le tue istruzioni testuali in formule o ottieni spiegazioni delle formule.
Modifica Excel online attraverso la conversazione con l'IA
Usa l'IA per convertire le tue istruzioni testuali in query SQL.
Genera codice Excel VBA per automazione e soluzioni personalizzate in Microsoft Excel.
Carica il tuo file Excel e crea bellissimi grafici con il nostro generatore di grafici basato su IA.
Usa il nostro generatore di mappe mentali basato su IA per trasformare il tuo testo in belle mappe mentali. Facile da modificare e personalizzare.
Usa l'IA per generare e spiegare intelligentemente le espressioni regolari, supporta la corrispondenza di pattern testuali e la validazione dei dati.
Genera immagini belle dalle descrizioni testuali usando AI, con diverse dimensioni. Gratuito!
Le espressioni regolari sono potenti strumenti per l’elaborazione del testo, ampiamente utilizzate nell’analisi dei dati Python, nel web scraping, nell’elaborazione dei log e in altri campi. Questo tutorial ti guiderà sistematicamente attraverso la padronanza del modulo re di Python e dimostrerà come elaborare in modo efficiente i dati testuali tramite esempi pratici.
Le espressioni regolari svolgono un ruolo importante nell’elaborazione dei dati:
Gli studi dimostrano che gli sviluppatori professionisti possono migliorare significativamente l’efficienza del lavoro utilizzando le espressioni regolari nelle attività di elaborazione del testo, soprattutto quando si tratta di pattern testuali complessi.
import re
pattern = r"hello"
text = "hello world"
result = re.match(pattern, text)
if result:
print("Corrispondenza riuscita:", result.group()) # Output: hello
text = "Python最新版本3.9发布了" # Note: Keeping original string data
match = re.search(r'\d+.\d+', text)
if match:
print("Numero versione trovato:", match.group()) # Output: 3.9
contact_info = "邮箱: [email protected], 客服: [email protected]" # Note: Keeping original string data
emails = re.findall(r'[\w\.-]+@[\w\.-]+', contact_info)
print(emails) # ['[email protected]', '[email protected]']
Carattere | Descrizione della funzione | Esempio pratico |
---|---|---|
. | Corrisponde a qualsiasi singolo carattere | a.c → “abc” |
\d | Corrisponde a un carattere numerico | \d\d → “42” |
\w | Corrisponde a un carattere di parola | \w+ → “Var123” |
\s | Corrisponde a un carattere di spazio bianco | a\sb → “a b” |
Quantificatore | Regola di corrispondenza | Utilizzo tipico |
---|---|---|
* | Zero o più occorrenze | a*b → “b”, “aaaab” |
+ | Una o più occorrenze | a+b → “ab”, “aaaab” |
{n,m} | da n a m occorrenze | a{2,4}b → “aab”, “aaaab” |
log_entry = "2023-05-15 14:30:22 [ERROR] System crash"
match = re.match(r'(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2}) \[(\w+)\]', log_entry)
if match:
date, time, level = match.groups()
print(f"Errore verificatosi il {date} alle {time}, Livello: {level}")
html_content = "<p>第一段</p><p>第二段</p>" # Note: Keeping original string data
# Modalità avida
print(re.findall(r'<p>(.*)</p>', html_content))
# Modalità non avida
print(re.findall(r'<p>(.*?)</p>', html_content))
# Estrai Python seguito da una cifra
code_text = "Python3 Python2 Python"
print(re.findall(r'Python(?=\d)', code_text))
# Estrai Python non seguito da una cifra
print(re.findall(r'Python(?!\d)', code_text))
contact_text = "办公室: 010-87654321, 手机: 13912345678" # Note: Keeping original string data
phone_numbers = re.findall(r'\b\d{3}-\d{8}\b|\b1[3-9]\d{9}\b', contact_text)
print(phone_numbers) # ['010-87654321', '13912345678']
def check_password_strength(password):
"""Valida che la password contenga lettere maiuscole e minuscole e cifre, lunghezza 8-20 caratteri"""
pattern = r'^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\w]{8,20}$'
return re.match(pattern, password) is not None
print(check_password_strength("Secure123")) # True
print(check_password_strength("weak")) # False
Migliorare l’efficienza delle espressioni regolari:
re.compile()
per precompilare i
pattern comuni
(?:...)
Prevenire gli errori tipici:
.
,
*
, +
, ?
devono
essere escapati correttamente
\u
per la corrispondenza dei
caratteri Unicode
^[w\.-]+@[\w\.-]+\.\w+$
https?://[^\s]+
[\u4e00-\u9fa5]
\d{4}-\d{2}-\d{2}