Intelligently generate and explain regular expressions, supporting various common pattern matching
Konverter dine tekstinstruktioner til formler, eller få forklaringer på formler.
Rediger Excel online gennem samtale med AI
Brug AI til at konvertere dine tekstinstruktioner til SQL-forespørgsler.
Generer Excel VBA-kode til automatisering og tilpassede løsninger i Microsoft Excel.
Upload din Excel-fil og brug vores AI-drevne diagramgenerator til at skabe smukke diagrammer.
Brug vores AI-drevne mindmap generator til at omdanne din tekst til smukke mindmaps. Rediger og tilpas nemt.
Use AI to intelligently generate and explain regular expressions, supporting various text pattern matching and data validation.
Generer smukke billeder fra tekstbeskrivelser ved hjælp af AI, med flere størrelser. Gratis!
Regulære udtryk er kraftfulde værktøjer til tekstbehandling, der er meget brugt i Python dataanalyse, web-scraping, logbehandling og andre områder. Denne vejledning vil guide dig systematisk gennem mastering af Pythons re-modul og demonstrere, hvordan man effektivt behandler tekstdata gennem praktiske eksempler.
Regulære udtryk spiller en vigtig rolle i databehandling:
Undersøgelser viser, at professionelle udviklere markant kan forbedre arbejdseffektiviteten ved at bruge regulære udtryk i tekstbehandlingsopgaver, især når de håndterer komplekse tekstmønstre.
import re
pattern = r"hello"
text = "hello world"
result = re.match(pattern, text)
if result:
print("Match lykkedes:", result.group()) # Output: hello
text = "Python最新版本3.9发布了" # Note: Keeping original string data
match = re.search(r'\d+.\d+', text)
if match:
print("Versionsnummer fundet:", 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]']
Karakter | Funktionsbeskrivelse | Praktisk eksempel |
---|---|---|
. | Matcher ethvert enkelt tegn | a.c → “abc” |
\d | Matcher et ciffer tegn | \d\d → “42” |
\w | Matcher et ord tegn | \w+ → “Var123” |
\s | Matcher et blanktegn | a\sb → “a b” |
Kvantifikator | Matchningsregel | Typisk brug |
---|---|---|
* | Nul eller flere forekomster | a*b → “b”, “aaaab” |
+ | En eller flere forekomster | a+b → “ab”, “aaaab” |
{n,m} | n til m forekomster | 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"Fejl opstod den {date} {time}, Niveau: {level}")
html_content = "<p>第一段</p><p>第二段</p>" # Note: Keeping original string data
# Grådig tilstand
print(re.findall(r'<p>(.*)</p>', html_content))
# Ikke-grådig tilstand
print(re.findall(r'<p>(.*?)</p>', html_content))
# Udtræk Python efterfulgt af et ciffer
code_text = "Python3 Python2 Python"
print(re.findall(r'Python(?=\d)', code_text))
# Udtræk Python ikke efterfulgt af et ciffer
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):
"""Validerer adgangskoden indeholder store og små bogstaver og cifre, længde 8-20 tegn"""
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
Forbedre effektiviteten af regulære udtryk:
re.compile()
til forkompilering af
almindelige mønstre
(?:...)
Forebyg typiske fejl:
.
, *
,
+
, ?
skal escapes korrekt
\u
til matchning af Unicode-tegn
^[w\.-]+@[\w\.-]+\.\w+$
https?://[^\s]+
[\u4e00-\u9fa5]
\d{4}-\d{2}-\d{2}