Tento příspěvek byl naposledy upraven Kongcicadou dne 18. 6. 2019 v 21:39
předmluva Při porovnávání dat, kvalifikaci pravidel a analýze crawlerů v projektu použijeme regulární výrazy. Následuje shrnutí základních znalostí pravidelnosti, přičemž všechny jsou studijní poznámky z raných let.
Text
#Základy regulárních výrazů
. Reprezentuje libovolný jednotlivý znak kromě \n
[ ] Filtrování znaků
[^] Ekvivalent ne-
| znamená nebo
() Změňte prioritu operace.
* kvalifikátor, který označuje, že předchozí výraz se vyskytuje 0 nebo vícekrát.
+ kvalifikátor, což znamená, že předchozí výraz se musí objevit 1 nebo vícekrát. Musí se objevit alespoň jednou.
? kvalifikátory, které znamenají, že předchozí výraz se musí objevit 0 nebo 1krát.
{n} kvalifikátor, který kvalifikuje výraz předcházející tomuto termínu, musí se vyskytnout nkrát.
{n,}, který kvalifikuje předchozí výraz tak, aby se vyskytl alespoň nkrát.
{n,m}, který kvalifikuje předchozí výraz tak, aby se vyskytoval alespoň nkrát a maximálně m krát.
^ $ je začátek a konec řetězce
\d je ekvivalentní [0-9]
\D je ekvivalentní [^0-9]
\s představuje všechny ty neviditelné znaky mezi mezerami
\S jsou všechny znaky kromě \s.
\w Označuje [0-9a-zA-Z_]
\w jsou všechny ostatní postavy kromě \w.
\b označuje hranici slova. (Pouze tvrzení, soudce, nesoulad.) )
=================================================
. Reprezentuje libovolný jednotlivý znak kromě \n
a.b
a,b
=========================================
[ ] Filtrování znaků
a[0-9]b
a[a-z]b
a[0-9a-zA-Z]b
a1b
axb
aAb
a[^0-9]b znamená, že mezi a a b se může objevit pouze jeden znak jiný než 0123456789.
a[^0-9a-z]b
=====================================================
| znamená nebo
z|jídlo kvůli| má velmi nízkou prioritu, takže tento výraz může odpovídat Z nebo Jídlo Tento výraz neodpovídá Zood
(z|f)ood znamená zood nebo jídlo
===========================================
() Změňte prioritu operace.
Extrakční skupina.
=======================================
* kvalifikátor, který označuje, že předchozí výraz se vyskytuje 0 nebo vícekrát.
zoo* znamená zoo zoooo
(zoo)* znamená zoozoo.......
a.*b znamená AB AADDDDB AFJDSKLF%$#@dsklfjdsklfjdsklfjb
================================================
+ kvalifikátor, což znamená, že předchozí výraz se musí objevit 1 nebo vícekrát. Musí se objevit alespoň jednou.
a.+b
a9dfjsakl3824urnj324239feb
==================================================
? kvalifikátory, které znamenají, že předchozí výraz se musí objevit 0 nebo 1krát.
a.? b
AB
axb
? Další funkcí je "ukončit režim chamtivosti". Regulární výrazy se automaticky přepnou do režimu chamtivosti.
======================================================================
a[0-9]+b
a0b
a00b
a09b
a99999999999999999999b
========================== další kvalifikace =====================
{n} kvalifikátor, který kvalifikuje výraz předcházející tomuto termínu, musí se vyskytnout nkrát.
a[0-9]{10}b
a1234567899b
======================
{n,}, který kvalifikuje předchozí výraz tak, aby se vyskytl alespoň nkrát.
1[a-z]{3,}2
1axffdsafdsafdasfdsafdsafdsafdsfdsafdsfdsfdsa2
========================================
{n,m}, který kvalifikuje předchozí výraz tak, aby se vyskytoval alespoň nkrát a maximálně m krát.
a[0-9]{3,7}b
a0000000b
===========================================
^ označuje začátek řetězce
$ označuje konec řetězce.
^ a $ představují dvě vlastnosti řetězce. Jeden označuje počáteční prvek a druhý konec
^abc.*xyz$ ^abc122345xyz$
^abcdefg$ ^abcdefg
fdsfdsfxyz xyz$
===========================================
a[0-9]b
a\db
\dEkvivalent [0-9]
Digitální
\D [^0-9]
\s představuje všechny ty bílé, neviditelné znaky
a\s*b
AB
a
b
\S jsou všechny znaky kromě \s.
=================================================
\w [0-9a-zA-Z_]
Slovo znamená slovo charakter.
\w jsou všechny ostatní postavy kromě \w.
\b označuje hranici slova. (Pouze tvrzení, soudce, nesoulad.) )
============================================
.
Následující metody mohou naznačovat, že mezi abs se objevuje jakýkoli jednotlivý znak.
a[\s\S]b
a[\d\D]b
a[\w\W]b
#Skutečný boj
1: Vytvořit novou konzolovou aplikaci
2: Vložte následující kód, můžete testovat modul po modulu
Epilog
Online test regulárních výrazů Přihlášení k hypertextovému odkazu je viditelné.
|