Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:perl:perl_regex

< Perl

Perl regex

  • Szerző: Sallai András
  • Copyright © Sallai András, 2011, 2015
  • Licenc: GNU Free Documentation License 1.3

Bevezetés

A Regular Expression vagy röviden regex, magyarul szabályos kifejezések néven fordítható. Néha szokták regex helyett regexp-ként is rövidíteni. Összehasonlításokat végezhetünk egy szöveg és egy adott minta között.

Egyezés vizsgálata

#!/usr/bin/env perl
 
$str =  "abd";
 
if($str =~ m/ab?/) {
    print "Egyezik\n";
}else {
    print "Nem egyezik\n";
}

Nemegyezés vizsgálata

$mystring !~/blahblah/;

Egyezés a sor elejére

/^Jóska/ 

Egyezés a sor végére

/Jóska$/ 

Egyezés egyik karakterre

/a[bo]c/

Akkor egyezik, ha középen „b” vagy „o” karakter van.

Bármilyen karakterre egyezés

Bármilyen egy darab karakterre egyezik, kivéve újsor.

/a.c/

Ha „a” és „c” között nincs karakter, akkor nincs egyezés.

Egyezés több karakterre

/a.+c/

Ekkor „a” és „c” karakter között több bármilyen karakter is lehet. De ha egy sincs, akkor nem egyezik.

/a.*c/

Itt már akkor is egyezik, ha „a” és „c” karakter között egyetlen karakter sincs.

Módosítók

A Perl nyelv alpértelmezetten Case Sensitive, azaz kisbetű nagybetű érzékeny. Tehát ha adott a /Perl/ minta, az nem egyezik a „perl” szóval, csak ha a „p” az nagybetű.

Módosítóval rávehetjük a Perlt, hogy ne legyen érzékeny a kis és nagybetűk különbségére:

/perl/i A módosítót az utolsó „/” jel után tesszük.

Más módosítók:

Módosító Használat
i Kis- és nagybetű érzékenység kikapcsolva
g Minden előfordulás keresése
m Több soros. Újsorok jelölése ^ és $ karakterekkel
s Egyetlen sorként kezeljük. Így egy /./ esetén az újsor is egyezik
x Szabályos kifejezések bővítése (megjegyzésekkel és elválasztó karkterekekkel

Linkek

oktatas/programozas/perl/perl_regex.txt · Utolsó módosítás: 2019/08/22 10:09 szerkesztette: admin