Dit bericht is voor het laatst bewerkt door Kongcicada op 2019-6-18 21:39
inleiding Bij het uitvoeren van data matching, regelkwalificatie en crawler-analyse in het project, gebruiken we reguliere expressies. Hieronder volgt een samenvatting van de basiskennis van regelmatigheid, die allemaal studienotities uit de vroege jaren zijn.
Sms
#Basisprincipes van reguliere expressies
. Vertegenwoordigt elk enkel teken behalve \n
[ ] Karakterfiltering
[^] Equivalent aan non
| betekent of
() Verander de prioriteit van de operatie.
* kwalifiseerder, wat aangeeft dat de vorige uitdrukking 0 of vaker voorkomt.
+ kwalificater, wat aangeeft dat de voorgaande uitdrukking 1 of meer keer moet voorkomen. Het moet minstens één keer verschijnen.
? kwalificaties, die aangeven dat de voorgaande uitdrukking 0 of 1 keer moet voorkomen.
{n} kwalificatie, die de uitdrukking die eraan voorafgaat kwalificeert, moet n keer voorkomen.
{n,} kwalificatie, die de voorgaande uitdrukking kwalificeert om minstens n keer voor te komen.
{n,m} kwalificatie, die de voorgaande uitdrukking kwalificeert om minstens n keer en maximaal m keer voor te komen.
^ $ is het begin en einde van de string
\d is gelijk aan [0-9]
\D is gelijkwaardig aan [^0-9]
\s vertegenwoordigt al die witspatie die onzichtbaar zijn
\S zijn alle karakters behalve \s.
\w Geeft aan [0-9a-zA-Z_]
\w is alle andere personages behalve \w.
\b geeft de grens van het woord aan. (Alleen bewaren, oordeel, mismatch.) )
=================================================
. Vertegenwoordigt elk enkel teken behalve \n
a.b
a,b
=========================================
[ ] Karakterfiltering
a[0-9]b
a[a-z]b
a[0-9a-zA-Z]b
A1B
axb
aAb
A[^0-9]b betekent dat alleen elk enkel karakter anders dan 0123456789 tussen A en B kan voorkomen.
a[^0-9a-z]b
=====================================================
| betekent of
z|voedsel door| heeft een zeer lage prioriteit, dus deze uitdrukking kan overeenkomen met z of food. deze uitdrukking komt niet overeen met zood.
(z|f)ood betekent zood of voedsel
===========================================
() Verander de prioriteit van de operatie.
Extractiegroep.
=======================================
* kwalifiseerder, wat aangeeft dat de vorige uitdrukking 0 of vaker voorkomt.
zoo* betekent zo zoo zoooooooooo
(zoo)* geeft zoozoo aan.......
a.*b staat voor AB AADDDDB AFJDSKLF%$#@dsklfjdsklfjdsklfjb
================================================
+ kwalificater, wat aangeeft dat de voorgaande uitdrukking 1 of meer keer moet voorkomen. Het moet minstens één keer verschijnen.
a.+b
A9dfjSAKL3824urnj324239feb
==================================================
? kwalificaties, die aangeven dat de voorgaande uitdrukking 0 of 1 keer moet voorkomen.
a.? b
AB
axb
? Een andere functie is het "beëindigen van de hebzuchtmodus". Reguliere expressies staan standaard in hebzuchtmodus.
======================================================================
a[0-9]+b
a0b
a00b
A09b
a99999999999999999999b
========================== andere kwalificaties =====================
{n} kwalificatie, die de uitdrukking die eraan voorafgaat kwalificeert, moet n keer voorkomen.
a[0-9]{10}b
A1234567899b
======================
{n,} kwalificatie, die de voorgaande uitdrukking kwalificeert om minstens n keer voor te komen.
1[a-z]{3,}2
1axffdsafdsafdasfdsafdsafdsafdsfdsafsfdfdsfdsfdsfdsa2
========================================
{n,m} kwalificatie, die de voorgaande uitdrukking kwalificeert om minstens n keer en maximaal m keer voor te komen.
a[0-9]{3,7}b
a00000000b
===========================================
^ geeft het begin van de snaar aan
$ geeft het uiteinde van de snaar aan.
^ en $ vertegenwoordigen de twee kenmerken van de string. De ene geeft het beginkenmerk aan en de andere het einde
^abc.*xyz$ ^abc122345xyz$
^abcdefg$ ^abcdefg
fdsfdsfxyz xyz$
===========================================
a[0-9]b
a\db
\dEquivalent aan [0-9]
Digitaal
\D [^0-9]
\s staat voor al die witspatie, onzichtbare tekens
a\s*b
AB
a
b
\S zijn alle karakters behalve \s.
=================================================
\w [0-9a-zA-Z_]
woord betekent woordkarakter.
\w is alle andere personages behalve \w.
\b geeft de grens van het woord aan. (Alleen bewaren, oordeel, mismatch.) )
============================================
.
De volgende methoden kunnen aangeven dat elk enkel teken tussen abs voorkomt.
a[\s\S]b
a[\d\D]b
a[\w\W]b
#Daadwerkelijke gevechten
1: Maak een nieuwe consoleapplicatie aan
2: Plak de volgende code, je kunt module voor module testen
Epiloog
Online test voor reguliere expressie De hyperlink-login is zichtbaar.
|