Ten post został ostatnio edytowany przez Kongcicadę 18.06.2019 o 21:39
przedmowa Podczas dopasowywania danych, kwalifikacji reguł oraz analizy danych z crawlera w projekcie będziemy używać wyrażeń regularnych. Poniżej znajduje się podsumowanie podstawowej wiedzy o regularności, z których wszystkie są notatkami z wczesnych lat.
Tekst
#Podstawy wyrażeń regularnych
. Reprezentuje dowolny pojedynczy znak inny niż \n
[ ] Filtrowanie znaków
[^] Równoważne z non
| Oznacza lub
() Zmień priorytet operacji.
* kwalifikator, który oznacza, że poprzednie wyrażenie pojawia się 0 lub więcej razy.
+ kwalifikator, oznaczając, że poprzedzające wyrażenie musi pojawić się 1 lub więcej razy. Musi się pojawić przynajmniej raz.
? kwalifikatory, wskazujące, że poprzednie wyrażenie musi pojawić się 0 lub 1 razy.
{n}, który kwalifikuje wyrażenie poprzedzające, musi wystąpić n razy.
{n,}, który kwalifikuje poprzedzające wyrażenie do występowania co najmniej n razy.
{n,m}, który kwalifikuje poprzedzające wyrażenie do występowania co najmniej n razy i maksymalnie m razy.
^ $ to początek i koniec ciągu
\d jest równoważne [0-9]
\D jest równoważne [^0-9]
\s oznacza wszystkie te niewidoczne znaki w białych spacjach,
\S to wszystkie znaki oprócz \s.
\w Oznacza [0-9a-zA-Z_]
\w to wszystkie pozostałe postacie oprócz \w.
\b oznacza granicę słowa. (Twierdz, tylko sędzia, niedopasowanie.) )
=================================================
. Reprezentuje dowolny pojedynczy znak inny niż \n
a.b
a,b
=========================================
[ ] Filtrowanie znaków
a[0-9]b
a[a-z]b
a[0-9a-zA-Z]b
a1b
axb
aAb
a[^0-9]b oznacza, że tylko pojedynczy znak inny niż 0123456789 może pojawić się pomiędzy a a b.
a[^0-9a-z]b
=====================================================
| Oznacza lub
z|food bo| ma bardzo niski priorytet, więc to wyrażenie może pasować do z lub food. To wyrażenie nie pasuje do zood
(z|f)ood oznacza zood lub jedzenie
===========================================
() Zmień priorytet operacji.
Grupa ewakuacyjna.
=======================================
* kwalifikator, który oznacza, że poprzednie wyrażenie pojawia się 0 lub więcej razy.
zoo* oznacza zoo zooo
(zoo)* oznacza zoozoo.......
a.*b oznacza AB AADDDDB AFJDSKLF%$#@dsklfjdsklfjdsklfjb
================================================
+ kwalifikator, oznaczając, że poprzedzające wyrażenie musi pojawić się 1 lub więcej razy. Musi się pojawić przynajmniej raz.
a.+b
a9dfjsakl3824urnj324239feb
==================================================
? kwalifikatory, wskazujące, że poprzednie wyrażenie musi pojawić się 0 lub 1 razy.
a.? b
AB
axb
? Inną funkcją jest "zakończenie trybu chciwości". Wyrażenia regularne domyślnie przechodzą w tryb chciwości.
======================================================================
a[0-9]+b
a0b
a00b
a09b
a99999999999999999999b
========================== inne kwalifikacje =====================
{n}, który kwalifikuje wyrażenie poprzedzające, musi wystąpić n razy.
a[0-9]{10}b
a1234567899b
======================
{n,}, który kwalifikuje poprzedzające wyrażenie do występowania co najmniej n razy.
1[a-z]{3,}2
1axffdsafdsafdasfdsafdsafdsafdsfdsafdsfdsa2
========================================
{n,m}, który kwalifikuje poprzedzające wyrażenie do występowania co najmniej n razy i maksymalnie m razy.
a[0-9]{3,7}b
a0000000b
===========================================
^ oznacza początek struny
$ oznacza koniec łańcucha.
^ i $ oznaczają dwie cechy ciągu łańcucha. Jeden oznacza element początkowy, a drugi koniec
^abc.*xyz$ ^abc122345xyz$
^abcdefg$ ^abcdefg
fdsfdsfxyz xyz$
===========================================
a[0-9]b
a\db
\dRównoważny [0-9]
Cyfrowe
\D [^0-9]
\s oznacza wszystkie te białe, niewidzialne znaki
a\s*b
AB
a
b
\S to wszystkie znaki oprócz \s.
=================================================
\w [0-9a-zA-Z_]
Słowo oznacza słowo znak.
\w to wszystkie pozostałe postacie oprócz \w.
\b oznacza granicę słowa. (Twierdz, tylko sędzia, niedopasowanie.) )
============================================
.
Poniższe metody mogą wskazywać, że dowolny pojedynczy znak pojawia się pomiędzy brzuchem.
a[\s\S]b
a[\d\D]b
a[\w\W]b
#Rzeczywista walka
1: Stwórz nową aplikację konsolową
2: Wklej poniższy kod, możesz testować moduł po module
Epilog
Test online wyrażenia regularnego Logowanie do linku jest widoczne.
|