Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 35533|Odpověď: 1

[Zdroj] Základy regulárních výrazů

[Kopírovat odkaz]
Zveřejněno 18.06.2019 21:38:16 | | |
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é.
















Předchozí:mysql jak změnit heslo root uživatele
Další:Java Reactor – Přeorganizujte svůj Java kód
Zveřejněno 05.05.2020 16:32:41 |
Úplný seznam běžně používaných regulárních výrazů
https://www.itsvse.com/thread-9181-1-1.html
(Zdroj: Architect_Programmer)
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com