Najlepszy samouczek Perl wyrażeń regularnych W 2024 r. W tym samouczku możesz dowiedzieć się operator meczów,zmienne regex,operatorzy Zastępstwa,Operatorzy Conversion,Więcej wyrażenie regularne zasady,
Regex (wyrażenie regularne) opisuje zbiór łańcuchów, które można wykorzystać do sprawdzenia, czy ciąg zawiera określony podciąg pasujący podciąg zastępują lub usunąć warunek dopasowuje podciąg z ciągiem i tak dalej.
Perl funkcja regex języka jest bardzo silny, w zasadzie najmocniejszy wspólny język, wiele projektowania wsparcie językowe wyrażenie regularne, gdy są wyrażenia regularne odniesienia Perl.
Trzy formy wyrażeń regularnych Perl są dopasowane, wymiany i konwersji:
Mecz: m /
Wymienić: s /
Konwersja: tr /
Te trzy formy i generalnie= ~ lub! ~Z wykorzystaniem = ~ reprezentuje mecz! ~ Stwierdziło, że nie pasują do siebie.
Mecz Operator m // używane w celu dopasowania ciąg lub wyrażenie regularne sprawozdania, na przykład, aby dopasować skalarne $ bar w "biegu", kod w następujący sposób:
#!/usr/bin/perl $bar = "I am w3big site. welcome to w3big site."; if ($bar =~ /run/){ print "第一次匹配\n"; }else{ print "第一次不匹配\n"; } $bar = "run"; if ($bar =~ /run/){ print "第二次匹配\n"; }else{ print "第二次不匹配\n"; }
Powyższy program, wyjście jest:
第一次匹配 第二次匹配
Istnieją pewne wspólne wzorzec dopasowania modyfikatory, co następuje:
modyfikatory | opis |
---|---|
ja | Ignoruj tryb kapitalizacji |
m | Tryb multi-line |
O | Tylko raz przypisano |
s | Tryb pojedynczego wiersza, "." Mecz "\ n" (domyślnie nie pasuje) |
x | Ignoruj tryb pusty |
g | Globalny meczów |
CG | Po niepowodzeniu globalnego dopasowania, pozwala ponownie znaleźć pasujący ciąg |
Perl występują po obróbce odpowiednio do wartości trzech specjalnej nazwy zmiennych:
Jeśli tych trzech zmiennych razem, dostaniesz oryginalny łańcuch.
Przykłady są następujące:
#!/usr/bin/perl $string = "welcome to w3big site."; $string =~ m/run/; print "匹配前的字符串: $`\n"; print "匹配的字符串: $&\n"; print "匹配后的字符串: $'\n";
Powyższy program jest wyjście:
匹配前的字符串: welcome to 匹配的字符串: run 匹配后的字符串: oob site.
Zmiana operatora s /// Operator jest dopasowanie rozszerzenie stosowania nowego łańcucha zastąpić określony ciąg. Podstawowy format jest następujący:
s/PATTERN/REPLACEMENT/;
WZÓR dopasować wzorzec, zamiennik do wymiany łańcucha.
Na przykład, "google" Zamieniamy następujący ciąg jest "w3big":
#!/usr/bin/perl $string = "welcome to google site."; $string =~ s/google/w3big/; print "$string\n";
Powyższy program jest wyjście:
welcome to w3big site.
Wymień modyfikator pracy w następujący sposób:
modyfikatory | opis |
---|---|
ja | Jeśli dodać "i" w modyfikatora, to regularne czułość sprawa zostanie anulowane, "a" i "A" jest taka sama. |
m | Domyślną rozpocząć regularne "^" i koniec "$" jest właśnie dla zwykłego sznurka jeśli w połączeniu z "m" modyfikator, to początek i koniec każdego wiersza będzie odnosić się do napisu: Na początku każdego wiersza jest "^", koniec jest "$". |
O | Ekspresja jest wykonywany tylko raz. |
s | Jeśli dodać "S" w modyfikatora, to ustawienie domyślne. "" W imieniu dowolny znak z wyjątkiem nowej linii będzie dowolny znak, w tym nowej linii jest! |
x | Jeśli dodać modyfikator, ekspresja puste znaki będą ignorowane, chyba że zostało uciekł. |
g | Wymień wszystkie pasujące ciągi. |
e | Jako wyrażenie wymiana strun |
Poniżej znajduje się operator konwersji związane modyfikatory:
modyfikatory | opis |
---|---|
c | Konwersja wszystkich znaków nie podano |
d | Usuń wszystkie wymienione znaki |
s | W tym samym moc zmniejszyła się do wielu postaci |
Poniższe przykłady zmienna $ string we wszystkich małych liter na wielkie litery: zamienione
#!/usr/bin/perl $string = 'welcome to w3big site.'; $string =~ tr/a-z/A-z/; print "$string\n";
Powyższy program jest wyjście:
WELCOME TO w3big SITE.
W poniższym przykładzie użyto zmiennej $ / s ciąg powtarzających się znaków usuniętych:
#!/usr/bin/perl $string = 'w3big'; $string =~ tr/a-z/a-z/s; print "$string\n";
Powyższy program jest wyjście:
runob
Więcej przykładów:
$string =~ tr/\d/ /c; # 把所有非数字字符替换为空格 $string =~ tr/\t //d; # 删除tab和空格 $string =~ tr/0-9/ /cs # 把数字间的其它字符替换为一个空格。
wyrażenie | opis |
---|---|
, | Dopasuj wszystkie znaki oprócz nowej linii |
x? | Mecz 0 lub ciąg x |
x * | Mecz 0 lub więcej razy x ciąg, ale minimalna liczba możliwych meczów |
x + | Mecz 1 lub więcej razy x ciąg, ale minimalna liczba możliwych meczów |
*. | Mecz 0 lub więcej razy dowolny znak |
. + | Równej 1 lub więcej razy przez charakteru |
{M} | Dokładnie dopasować określony ciąg m |
{M, n} | Zapałki m lub mniej lub bardziej określony ciąg n |
{M} | m równej lub większej określonego ciągu |
[] | Która pasuje do charakteru ciągu [] |
[^] | Mecz nie spełnia znaki [] |
[0-9] | Dopasuj wszystkie znaki numeryczne |
[AZ] | Dopasuj wszystkie małe litery alfabetu |
[^ 0-9] | Dopasuj wszystkie znaki nienumeryczne |
[^ Az] | Mecze jakieś małe litery alfabetu |
^ | Postać, która dopasowuje początek |
$ | Dopasowuje znak końcowy znak |
\ D | Dopasowuje znak cyfrowy i [0-9] z tej samej składni |
\ D + | Dopasuj wielokrotnego ciąg liczbowy, a [0-9] + składni |
\ D | Non-cyfrowy, drugi z \ d |
\ D + | Non-cyfrowy, drugi z \ d + |
\ W | Ciąg liter lub cyfr i [a-zA-Z0-9] składni |
\ W + | A [a-zA-Z0-9] + składni |
\ W | Non-angielskie litery lub liczby, ciągi i [^ a-zA-Z0-9] ta sama składnia |
\ W + | I [^ a-zA-Z0-9] + składni |
\ S | Przestrzenie i [\ n \ t \ r \ f] ta sama składnia |
\ S + | A [\ n \ t \ r \ f] + jako |
\ S | Non-space i [^ \ n \ t \ r \ f] ta sama składnia |
\ S + | I [^ \ n \ t \ r \ f] + składni |
\ B | Angielskie litery, cyfry pasujące Granica ciąg |
\ B | Niedopasowane w kolejności alfabetycznej, ciąg liczbowy granica |
a | b | c | Zgodnie z ciągu znaków pasujący do charakteru lub B lub C charakter |
ABC | Abc dopasowanie string (wzór) zawierają () będą pamiętać ten symbol, aby znaleźć ciąg, jest to bardzo przydatna składnia. Pierwszy ciąg (do wewnątrz), które oceniły tę zmienną staje $ 1 lub \ 1 zmienna, a drugi (wewnętrzny) stwierdzono zmienną łańcucha do zmiennej $ \ 2 lub 2, i tak dalej w dół. |
/ Wzorzec / i | I ten parametr wskazuje zignorować sprawę w języku angielskim, to znaczy, gdy łańcuch mecz, ignorując przypadek pytanie w języku angielskim. \ Jeśli chcesz znaleźć znak specjalny w trybie wzorca, takich jak "*", będzie musiał włożyć przed znakiem na \ symbol, pozwoli to nie znaki specjalne |