Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:python:regex

< Python

Python regex

re

A Python RegEx használatát, a mintakeresést, az re mudul biztosítja.

Importálása:

import re

Keresés

Van egy szövegünk, amiben szeretnénk bizonyos mintákat megtalálni.

Például a Hatvan szót előfordulását keressük, a sorok végén.

import re
 
txt = "Tegnap Marika elment Egerbe"
res = re.search(r"Mar(ika|git)", txt)
if res != None:
    print(res.start())
 
# None értéket kapunk, ha nincs egyezés
# Ha van egyezés:
# <re.Match object; span=(0, 21), match='Esik az eső Miskolcon'>

Regex kifejezések

  • .
    • A pont bármilyen karakter jelölhet, kivéve az újsor.
  • ^
    • A keröt karakter a sor elejére egyezést jelöl.
  • $
    • A dollárjel karakter a sor végére egyezést jelöl.
  • *
    • A csillag karakter egy sokszorzó.
    • Az előtte lévő karakter 0-szor vagy többször szerepelhet.
  • +
    • A plusz karakter egy sokszorozó.
    • Az előtte lévő karakter 1-szer vagy többszerö szerepelhet.
  • ?
    • A kérdőjel az előtte lévő karakterre vonatkozik.
    • Az előtt lévő karakter 0-szor vagy 1-szer szerepelhet.
  • {m}
    • Az előtte lévő karakter pontosan m-szer.
  • {m,n}
    • Az előtte lévő karakter minimum m-szer, maximum n-szer.
  • \
    • Ha speciális karakterre hivatkozunk, mint a (.) pont,
    • akkor egy (\) karakter szükséges hozzá.
  • [ ]
    • Egy karakter meghatározása egy karakterhalmaz alapján.
  • ( )
    • Csoportosítás.
  • \b
    • Üres sztringre egyezik.
  • \d
    • Mint a [0-9] halmaz
  • \D
    • Mint a [^0-9] halmaz
  • \s
    • Mint a [ \t\n\r\f\v] halmaz.
  • \S
    • Mint a [^ \t\n\r\f\v] halmaz.

IP cím ellenőrzés

IP cím ellenőrzése:

regex.py
import re
 
print("Regex teszt")
ipcim = input("Ip cím: ")
 
egyezik = re.match(r'^([0-9]{1,3}\.){3}[0-9]{1,3}$', ipcim)
 
if egyezik:
	print("Ez valószínűleg IP cím")
else:
	print("Nem IP cím!")

Jelző használata

p = re.compile('ab*', re.IGNORECASE)

Szám vizsgálata

import re
 
numStr = input('Szám: ')
 
res = re.match(r'[0-9]+', numStr)
 
if res:
  print('Ez egy szám')
else:
  print('Hiba! Nem számot írtál!')
oktatas/programozas/python/regex.txt · Utolsó módosítás: 2024/10/29 00:14 szerkesztette: admin