Ta objava je bila nazadnje urejena s strani Kongcicada 18. 6. 2019 ob 21:39
predgovor Pri usklajevanju podatkov, kvalifikaciji pravil in analizi podatkov za pajke v projektu bomo uporabljali regularne izraze. Spodaj je povzetek osnovnega znanja o rednosti, vse to so študijski zapiski iz zgodnjih let.
Besedilno sporočilo
#Osnove regularnih izrazov
. Predstavlja katerikoli posamezen znak, razen \n
[ ] Filtriranje znakov
[^] Enakovredno non
| pomeni ali
() Spremeni prioriteto operacije.
* kvalifikator, ki označuje, da se prejšnji izraz pojavi 0 ali večkrat.
+ kvalifikator, ki označuje, da se mora predhodni izraz pojaviti 1 ali večkrat. Mora se pojaviti vsaj enkrat.
? kvalifikacije, ki označujejo, da se mora prejšnji izraz pojaviti 0 ali 1-krat.
{n} kvalifikator, ki kvalificira izraz, ki mu predhodi, se mora pojaviti n-krat.
{n,}, ki kvalificira, da se prejšnji izraz pojavi vsaj n-krat.
{n,m}, ki kvalificira predhodni izraz, da se pojavi vsaj n krat in največ m krat.
^ $ je začetek in konec strune
\d je ekvivalentno [0-9]
\D je enakovredno [^0-9]
\s predstavlja vse tiste bele presledke, ki so nevidni
\S so vsi znaki razen \s.
\w Označuje [0-9a-zA-Z_]
\w so vsi ostali liki razen \w.
\b označuje mejo besede. (Trditev, samo sodba, neujemanje.) )
=================================================
. Predstavlja katerikoli posamezen znak, razen \n
a.b
a,b
=========================================
[ ] Filtriranje znakov
a[0-9]b
a[a-z]b
a[0-9a-zA-Z]b
a1b
axb
aAb
a[^0-9]b pomeni, da se lahko med a in b pojavi le en sam znak razen 0123456789.
a[^0-9a-z]b
=====================================================
| pomeni ali
z|hrana zaradi| ima zelo nizko prioriteto, zato se ta izraz lahko ujema z ali hrano. Ta izraz ne ustreza zoodu.
(z|f)ood pomeni zood ali hrana
===========================================
() Spremeni prioriteto operacije.
Ekstrakcijska skupina.
=======================================
* kvalifikator, ki označuje, da se prejšnji izraz pojavi 0 ali večkrat.
zoo* pomeni zoo zoooo
(zoo)* označuje zoozoo.......
a.*b pomeni AB AADDDDB AFJDSKLF%$#@dsklfjdsklfjdsklfjb
================================================
+ kvalifikator, ki označuje, da se mora predhodni izraz pojaviti 1 ali večkrat. Mora se pojaviti vsaj enkrat.
a.+b
a9dfjsakl3824urnj324239feb
==================================================
? kvalifikacije, ki označujejo, da se mora prejšnji izraz pojaviti 0 ali 1-krat.
a.? b
ab
axb
? Druga funkcija je "konec načina pohlepa". Regularni izrazi privzeto preklopijo v način pohlepa.
======================================================================
a[0-9]+b
a0b
a00b
a09b
a99999999999999999999b
========================== druge kvalifikacije =====================
{n} kvalifikator, ki kvalificira izraz, ki mu predhodi, se mora pojaviti n-krat.
a[0-9]{10}b
a1234567899b
======================
{n,}, ki kvalificira, da se prejšnji izraz pojavi vsaj n-krat.
1[a-z]{3,}2
1axffdsafdsafdasfdsafdsafdsafdsfdsfdsafsdfdsfdsfdsa2
========================================
{n,m}, ki kvalificira predhodni izraz, da se pojavi vsaj n krat in največ m krat.
a[0-9]{3,7}b
a00000000b
===========================================
^ označuje začetek strune
$ označuje konec niza.
^ in $ predstavljata dve značilnosti niza. Ena označuje začetno značilnost, druga pa konec
^abc.*xyz$ ^abc122345xyz$
^abcdefg$ ^abcdefg
fdsfdsfxyz xyz$
===========================================
a[0-9]b
a\db
\dEkvivalent [0-9]
Digitalno
\D [^0-9]
\s predstavlja vse tiste bele presledke, nevidne znake
a\s*b
ab
a
b
\S so vsi znaki razen \s.
=================================================
\w [0-9a-zA-Z_]
Beseda pomeni beseda lik.
\w so vsi ostali liki razen \w.
\b označuje mejo besede. (Trditev, samo sodba, neujemanje.) )
============================================
.
Naslednje metode lahko nakazujejo, da se med abs pojavi katerikoli posamezen znak.
a[\s\S]b
a[\d\D]b
a[\w\W]b
#Dejanski boj
1: Ustvarite novo konzolno aplikacijo
2: Prilepite naslednjo kodo, lahko testirate modul za modulom
Epilog
Spletni test regularnih izrazov Prijava do hiperpovezave je vidna.
|