|
|
Zverejnené 18. 6. 2019 21:38:16
|
|
|

Tento príspevok naposledy upravil Kongcicada 18. 6. 2019 o 21:39
predhovor Pri porovnávaní dát, kvalifikácii pravidiel a analýze crawlerov v projekte použijeme regulárne výrazy. Nasleduje zhrnutie základných poznatkov o pravidelnosti, pričom všetky sú študijné poznámky z raných rokov.
Text
#Základy regulárneho výrazu
. Reprezentuje akýkoľvek jednotlivý znak okrem \n
[ ] Filtrovanie postáv
[^] Ekvivalent non
| Prostriedky alebo
() Zmeňte prioritu operácie.
* kvalifikátor, ktorý označuje, že predchádzajúci výraz sa vyskytuje 0 alebo viackrát.
+ kvalifikátor, ktorý označuje, že predchádzajúci výraz sa musí objaviť 1 alebo viackrát. Musí sa objaviť aspoň raz.
? kvalifikátory, ktoré označujú, že predchádzajúci výraz sa musí objaviť 0 alebo 1-krát.
{n} kvalifikátor, ktorý kvalifikuje výraz pred ním, musí sa vyskytnúť n-krát.
{n,} kvalifikátor, ktorý kvalifikuje predchádzajúci výraz, aby sa vyskytol aspoň n-krát.
{n,m} kvalifikátor, ktorý kvalifikuje predchádzajúci výraz tak, aby sa vyskytol aspoň n krát a najviac m krát.
^ $ je začiatok a koniec reťazca
\d je ekvivalentné [0-9]
\D je ekvivalentné [^0-9]
\s predstavuje všetky tie biele medzery, ktoré sú neviditeľné
\S sú všetky znaky okrem \s.
\w Označuje [0-9a-zA-Z_]
\w sú všetky ostatné postavy okrem \w.
\b označuje hranicu slova. (Len tvrdenie, posudzovanie, nesúlad.) )
=================================================
. Reprezentuje akýkoľvek jednotlivý znak okrem \n
a.b
a,b
=========================================
[ ] Filtrovanie postáv
a[0-9]b
a[a-z]b
a[0-9a-zA-Z]b
a1b
AXB
aAb
a[^0-9]b znamená, že medzi a a b sa môže objaviť len jeden znak okrem 0123456789.
a[^0-9a-z]b
=====================================================
| Prostriedky alebo
z|jedlo kľu| má veľmi nízku prioritu, takže tento výraz môže zodpovedať z alebo jedlu. Tento výraz nezodpovedá zood
(z|f)ood znamená zood alebo jedlo
===========================================
() Zmeňte prioritu operácie.
Extrakcia.
=======================================
* kvalifikátor, ktorý označuje, že predchádzajúci výraz sa vyskytuje 0 alebo viackrát.
zoo* znamená zo zoo zooooo
(zoo)* znamená zoozoo.......
a.*b znamená AB AADDDDB AFJDSKLF%$#@dsklfjdsklfjdsklfjb
================================================
+ kvalifikátor, ktorý označuje, že predchádzajúci výraz sa musí objaviť 1 alebo viackrát. Musí sa objaviť aspoň raz.
a.+b
a9dfjsakl3824urnj324239feb
==================================================
? kvalifikátory, ktoré označujú, že predchádzajúci výraz sa musí objaviť 0 alebo 1-krát.
a.? b
AB
AXB
? Ďalšou funkciou je "ukončiť režim chamtivosti". Regulárne výrazy sa predvolene prepínajú do režimu chamtivosti.
======================================================================
a[0-9]+b
a0b
a00b
a09b
a99999999999999999999b
========================== ďalšie kvalifikácie =====================
{n} kvalifikátor, ktorý kvalifikuje výraz pred ním, musí sa vyskytnúť n-krát.
a[0-9]{10}b
a1234567899b
======================
{n,} kvalifikátor, ktorý kvalifikuje predchádzajúci výraz, aby sa vyskytol aspoň n-krát.
1[a-z]{3,}2
1axffdsafdsafdasfdsafdsafdsafdsfdsfdsafsdfdsfdsfdsa2
========================================
{n,m} kvalifikátor, ktorý kvalifikuje predchádzajúci výraz tak, aby sa vyskytol aspoň n krát a najviac m krát.
a[0-9]{3,7}b
a0000000b
===========================================
^ označuje začiatok reťazca
$ označuje koniec reťazca.
^ a $ predstavujú dve vlastnosti reťazca. Jedna označuje počiatočný prvok a druhá koniec
^abc.*xyz$ ^abc122345xyz$
^abcdefg$ ^abcdefg
fdsfdsfxyz xyz$
===========================================
a[0-9]b
a\db
\dEkvivalent [0-9]
Digitálne
\D [^0-9]
\s predstavuje všetky tie biele, neviditeľné znaky
a\s*b
AB
a
b
\S sú všetky znaky okrem \s.
=================================================
\w [0-9a-zA-Z_]
Slovo znamená slovo postava.
\w sú všetky ostatné postavy okrem \w.
\b označuje hranicu slova. (Len tvrdenie, posudzovanie, nesúlad.) )
============================================
.
Nasledujúce metódy môžu naznačovať, že medzi abs sa objaví akýkoľvek jeden znak.
a[\s\S]b
a[\d\D]b
a[\w\W]b
#Skutočný boj
1: Vytvoriť novú konzolovú aplikáciu
2: Vložte nasledujúci kód, môžete testovať modul po module
Epilóg
Online test regulárnych výrazov Prihlásenie na hypertextový odkaz je viditeľné.
|
Predchádzajúci:mysql ako zmeniť heslo root používateľaBudúci:Java Reactor - Preusporiadajte svoj Java kód
|