Perl/Operatory wyrażeń regularnych
< Perl
Dopasowanie tekstu
edytuj# Znaki // są używane do oznaczenia wyrażeń regularnych $Text =~ /wzór do dopasowania/;
# Użycie m przed wyrażeniem pozwala zmienić znaki ograniczające $Text =~ m|wzór do dopasowania|; $Text =~ m{wzór do dopasowania}; $Text =~ m<wzór do dopasowania>; $Text =~ m#wzór do dopasowania#;
Podział tekstu na części
edytuj# Funkcja split pozwala podzielić tekst w tych miejscach, gdzie wyrażenie regularne pasuje @TablicaCzesci = split( /,/, $Text); # Dzieli przy przecinkach @TablicaCzesci = split( /\s+/, $Text); # Dzieli przy białych znakach @TablicaCzesci = split( /,\s*/, $Text); # Dzieli przy przecinku, za którym mogą być białe znaki @TablicaCzesci = split( /\n/, $Text); # Dzieli każdą linię tekstu osobno
Szukanie i zamiana
edytuj# Funkcja s (od substitute) pozwala zamienić dopasowane fragmenty na inne. $Text =~ s/wzór/nowa wartość/; $Text =~ s|wzór|nowa wartość|; $Text =~ s{wzór}{nowa wartość};
# Użycie g (od global) na końcu sprawia, że zamieniane są wszystkie wystąpienia wzorca, a nie tylko pierwsze $Text =~ s/wzór/nowa wartość/g;
# Jak w pozostałych przypadkach, dodanie i na końcu sprawia, że wielkość liter nie ma znaczenia Use Locale; $Text =~ s/wzór/nowa wartość/i;
Wyciąganie wartości z tekstu
edytuj# Ta funkcja zapisuje wyciągnięte wartości do zmiennych $1, $2, $3 ... $Text =~ m/Przed(.*)Po/; # Jeśli $Text ma wartość "PrzedMiedzyPo", $1 będzie zawierać "Miedzy" $Text =~ m/A(.*)B(.*)C/; # Teraz jeśli $Text ma wartość "A1B2C", $1 zawiera "1" a $2 zawiera "2"
# Można też wydobyć bardziej przydatne wartości $Text =~ m|([^=]*)=(\d*)|; # W przypadku, gdy $Text zawiera "id=889", $1 przyjmie wartość "id", a $2 "889"