Reguláris kifejezés gyorskereső

A reguláris kifejezés a szöveges minták kezelésének egy módja, amelyet általában a szövegek ellenőrzésére, cseréjére és irányítására használnak. Főleg az a-tól z-ig terjedő betűket és néhány speciális metakaraktert tartalmaz. A reguláris kifejezések használata nagyon széleskörű, eredetileg a Unix által elterjesztették, később széles körben alkalmazták a Scala, PHP, C#, Java, C++, Objective-C, Perl, Swift, VBScript, Javascript, Ruby és Python nyelvekben is. A reguláris kifejezések tanulmányozása valójában egy rendkívül rugalmas logikai gondolkodás megtanulásáról szól, amely egyszerű és gyors módszereket alkalmaz a sztringek kezelésére.
Reguláris karakterek Leírás
\ A következő karaktert speciális karakterként, vagy az eredeti karakterként, vagy hátravonatként, vagy oktális escape karakterként jelöli. Például, “n" a "n" karaktert egyezteti. "\n" egy új sort jelöl. A "\\" karakter a "\"-t, míg a "\(" a "("-t egyezteti.
^ Megfelel a bemeneti szöveg kezdetének. Ha a RegExp objektum Multiline tulajdonságát beállítják, ^ megfelel a “\n" vagy "\r" utáni helyzeteknek is.
$ Megfelel a bemeneti szöveg végének. Ha a RegExp objektum Multiline tulajdonságát beállítják, $ megfelel a “\n" vagy "\r" előtti helyzeteknek is.
* Megfelel a korábbi szubkifejezésnek nulla vagy több alkalommal. Például, zo* a “z"-t és a "zoo"-t is egyezteti. * ekvivalens a {0,}-lal.
+ Megfelel a korábbi szubkifejezésnek egyszer vagy több alkalommal. Például, “zo+" a "zo" és a "zoo"-t egyezteti, de nem a "z"-t. + ekvivalens a {1,}-nal.
? Megfelel a korábbi szubkifejezésnek nulla vagy egyszer. Például “do(es)?" a "does"-t vagy a "does"-ben található "do"-t egyezteti. ? ekvivalens a {0,1}-gyel.
{n} n egy nem negatív egész szám. Pontosan n alkalommal felel meg. Például, “o{2}" nem egyezik a "Bob"-ban található "o"-val, de eggyezik a "food"-ban található két o-val.
{n,} n egy nem negatív egész szám. Legalább n alkalommal felel meg. Például, “o{2,}" nem felel meg a "Bob"-ban található "o"-nak, de megfelel az "foooood"-ban található összes o-nak. "o{1,}" ekvivalens "o+"-nal. "o{0,}" ekvivalens "o*"-val.
{n,m} m és n is nem negatív egész számok, ahol n<=m. Legalább n alkalommal, de legfeljebb m alkalommal felel meg. Például “o{1,3}" az "fooooood"-ban található első három o-t egyezteti. "o{0,1}" ekvivalens "o?"-nal. Kérjük, vegye figyelembe, hogy a vessző és a két szám között nem lehet szóköz.
? Amikor ez a karakter bármely más határozó (*,+,?,{n},{n,},{n,m}) után következik, akkor a mintázat nem mohón egyezik meg. A nem mohó mód a lehető legkevésbé egyezik meg a keresett szöveggel, míg az alapértelmezett mohó mód a lehető legtöbbet igyekszik. Például a “oooo" sztring esetében, "o+?" az egyes "o"-t egyezteti, míg "o+" az összes "o"-t egyezteti.
. Megfelel bármely singularis karakternek, kivéve “\n". Ahhoz, hogy bármely karaktert, beleértve a "\n"-t is egyeztethessen, használja a "(.|\n)" mintázatot.
(pattern) Megfelel a mintázatnak és megszerzi a megfelelő egyezést. Az eltérésből elnyert egyezések a létrejött Matches gyűjteményből kinyerhetők, VBScript-ben a SubMatches gyűjtemény használatával, míg JScript-ben a $0…$9 attribútumokkal. A kerek zárójel karakterek egyeztetéséhez a “\(" vagy "\)" használata szükséges.
(?:pattern) Megfelel a mintázatnak, de nem szerzi meg az egyezés eredményeit, tehát ez egy nem megszerző egyezés, amelyet nem tárolnak később használatra. Ez hasznos a vagy karakter “(|)" használatakor, hogy egy mintázat különböző részeit kombinálja. Például, "industr(?:y|ies)" egy rövidebb kifejezés, mint "industry|industries".
(?=pattern) Pozitív megerősítő előtét, amely megkeresi a mintázatot a szöveg kezdetén. Ez egy nem megszerző egyezés, visszaadásra nem szükséges. Például “Windows(?=95|98|NT|2000)" fog egyezni a "Windows2000"-ban található "Windows"-val, de nem egyezik a "Windows3.1"-ben található "Windows"-sal. Az előtét nem fogyaszt karaktert, tehát az egyezés megtörténtét követően az utolsó egyeztetés után azonnal megkezdi a következő egyeztetés keresését, nem pedig az előtét karakterek után kezd.
(?!pattern) Negatív megerősítő előtét, amely megkeresi a mintázatot a szöveg kezdetén, ha nem felel meg. Ez egy nem megszerző egyezés, tehát az egyezés nem szükséges a tároláshoz. Például “Windows(?!95|98|NT|2000)" fog egyezni a "Windows3.1"-ban található "Windows"-val, de nem egyezik a "Windows2000"-ban található "Windows"-sal. Az előtét szintén nem fogyaszt karaktert, tehát egy egyezés után az utolsó egyezés után azonnal megkezdi a következő egyeztetés keresését.
(?<=pattern) Negatív megerősítő előtét, amely a pozitív megerősítő előtét analógiája, csak az iránya megfordult. Például “(?<=95|98|NT|2000)Windows" egyezni fog a "2000Windows"-ban található "Windows"-val, de nem egyezik a "3.1Windows"-ban található "Windows"-sal.
(?<!pattern) Negatív megerősítő előtét, amely a pozitív negatív előtét analógiája, csak az iránya megfordult. Például “(?<!95|98|NT|2000)Windows" egyezni fog a "3.1Windows"-ban található "Windows"-val, de nem egyezik a "2000Windows"-ban található "Windows"-sal.
x|y Megfelel x-nek vagy y-nak. Például “z|food" egyezni fog a "z"-val vagy a "food"-al. "(z|f)ood" egyezni fog a "zood"-al vagy a "food"-al.
[xyz] Karaktergyűjtemény. Megfelel a magában foglalott bármilyen karakternek. Például, “[abc]" egyezni fog az "plain" szövegben található "a"-val.
[^xyz] Negatív karaktergyűjtemény. Megfelel a gyűjteményben nem található bármilyen karakternek. Például, “[^abc]" egyezni fog az "plain" szövegben található "p"-val.
[a-z] Karakter tartomány. Megfelel az adott tartomány bármely karakterének. Például, “[a-z]" egyezni fog az "a" és "z" közötti minden kisbetűs karakterrel.
[^a-z] Negatív karakter tartomány. Megfelel annak a tartománynak, amelyben nem találhatóbármely karakter. Például, “[^a-z]" egyezni fog bármely olyan karakterrel, amely nem található az "a" és "z" közötti tartományban.
\b Megfelel egy szóbeli határnak, ami azt jelenti, hogy a szó és a szóköz közötti helyezkedés. Például, “er\b" egyezni fog a "never" szövegben található "er"-rel, de nem egyezik a "verb"-ben található "er"-rel.
\B Megfelel egy nem szóbeli határnak. “er\B" egyezni fog a "verb" szövegben található "er"-rel, de nem egyezik a "never"-ben található "er"-rel.
\cx Megfelel az x által megnevezett vezérlő karakternek. Például \cM egyezni fog a Control-M vagy a visszavonási karakterrel. Az x értéke A-Z vagy a-z kell hogy legyen. Ellenkező esetben a c-t mint eredeti c karaktert értelmezik.
\d Megfelel egy számjegy karakternek. Ekvivalens [0-9]-tel.
\D Megfelel egy nem számjegy karakternek. Ekvivalens [^0-9]-tel.
\f Megfelel egy lapozó karakternek. Ekvivalens \x0c és \cL.
\n Megfelel egy új sor karakternek. Ekvivalens \x0a és \cJ.
\r Megfelel egy visszavonási karakternek. Ekvivalens \x0d és \cM.
\s Megfelel bármely üres karakternek, beleértve a szóközöket, tabulátorokat, új lapokat stb. Ekvivalens [ \f\n\r\t\v]-tel.
\S Megfelel bármely nem üres karakternek. Ekvivalens [^ \f\n\r\t\v]-tel.
\t Megfelel egy tabulátor karakternek. Ekvivalens \x09 és \cI.
\v Megfelel egy függőleges tabulátor karakternek. Ekvivalens \x0b és \cK.
\w Megfelel bármely szó karakterének, beleértve az aláhúzás karaktert is. Ekvivalens “[A-Za-z0-9_]"-tel.
\W Megfelel bármely nem szó karakternek. Ekvivalens “[^A-Za-z0-9_]"-tel.
\xn Megfelel n számára, ahol n olyan hexadecimális escape érték. A hexadecimális escape értéknek mindig két számjegyből kell állnia. Például, “\x41" egyezni fog az "A"-val. "\x041" pedig ekvivalens "\x04&1"-gyel. A reguláris kifejezésekben ASCII kódok is használhatók.
\num Megfelel num számára, ahol num egy pozitív egész szám. Az elnyert egyezések hivatkozása. Például, “(.)\1" megfelel az egymás mellett álló azonos karaktereknek.
\n Megjelöli az oktális escape értéket vagy egy hátrafordítást. Ha \n előtt legalább n elnyert szubkifejezés van, akkor n egy hátrafordítás. Ellenkező esetben, ha n oktális számjegy (0-7), akkor n egy oktális escape érték.
\nm Megjelöli az oktális escape értéket vagy egy hátrafordítást. Ha \nm előtt legalább nm elnyert szubkifejezés van, akkor nm hátrafordítás. Ha \nm előtt legalább n elnyert van, akkor n egy hátravont karaktert követ jelenik meg. Ha a korábbi feltételek egyike sem teljesül, ha n és m mindkettő oktális számjegyek (0-7), akkor \nm az oktális escape értékek leírására szolgál.
\nml Ha n oktális számjegy (0-3), és m és l is oktális számjegy (0-7), akkor megfelel az oktális escape értéknek nml.
\un Megfelel n számára, ahol n négy hexadecimális számjegye által megadott Unicode karakter. Például, \u00A9 megfelel a szerzői jogot jelző szimbólumnak (©).
Gyakran használt reguláris kifejezések
Felhasználónév /^[a-z0-9_-]{3,16}$/
Jelszó /^[a-z0-9_-]{6,18}$/
Jelszó2 (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$ (számot/nagybetűt/kisbetűt/pontot tartalmaz, mind a négy meg kell, hogy jelenjen és minimum 8 karakter hosszú)
Hexadecimális érték /^#?([a-f0-9]{6}|[a-f0-9]{3})$/
E-mail cím /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ vagy \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
URL /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ vagy [a-zA-z]+://[^\s]*
IP cím /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ vagy ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
HTML címkék /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ vagy <(.*)(.*)>.*<\/\1>|<(.*) \/>
Kódok törlése\\megjegyzések (?<!http:|\S)//.*$
Két bájtos karakterek egyezése (beleértve a kínai karaktereket is) [^\x00-\xff]
Kínai karakterek [\u4e00-\u9fa5]
Unicode kódolású kínai karakterek tartománya /^[\u2E80-\u9FFF]+$/
Kínai karakterek és teljes szélességű írásjelek [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
Dátum (év-hónap-nap) (\d{4}|\d{2})-((0?([1-9]))|(1[1|2]))-((0?[1-9])|([12]([1-9]))|(3[0|1]))
Dátum (hónap/nap/év) ((0?[1-9]{1})|(1[1|2]))/(0?[1-9]|([12][1-9])|(3[0|1]))/(\d{4}|\d{2})
Idő (óra:perc, 24 órás formátumban) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
Kína rögzített telefon száma (\d{4}-|\d{3}-)?(\d{8}|\d{7})
Kína mobiltelefon száma 1\d{10}
Kína irányítószáma [1-9]\d{5}
Kína személyi igazolvány száma (15 vagy 18 számjegy) \d{15}(\d\d[0-9xX])?
Nem negatív egész szám (pozitív egész szám vagy nulla) \d+
Pozitív egész szám [0-9]*[1-9][0-9]*
Negatív egész szám -[0-9]*[1-9][0-9]*
Egész szám -?\d+
Tizedes szám (-?\d+)(\.\d+)?
Üres sor \n\s*\r vagy \n\n(editplus) vagy ^[\s\S ]*\n
QQ szám [1-9]\d{4,}
abc-t nem tartalmazó szavak \b((?!abc)\w)+\b
Fej és farok üres karakterek egyezése ^\s*|\s*$
Szerkesztési gyakoriság
Az alábbiak néhány kivételt jelentenek a speciális kínai karakterekhez (editplus)
^[0-9].*\n
^[^第].*\n
^[习题].*\n
^[\s\S ]*\n
^[0-9]*\.
^[\s\S ]*\n
<p[^<>*]>
href="javascript:if\(confirm\('(.*?)'\)\)window\.location='(.*?)'"
<span style=".[^"]*rgb\(255,255,255\)">.[^<>]*</span>
<DIV class=xs0>[\s\S]*?</DIV>

Reguláris kifejezések szintaxisának gyorskeresési táblázata - Gyakran használt reguláris kifejezések technikái és szintaxisai

A reguláris kifejezés egy erőteljes szövegfeldolgozó eszköz, ez az oldalreguláris kifejezés szintaxisának gyorskeresési táblázatát kínálja Önnek, hogy gyorsan megismerje a reguláris kifejezés alapvető szintaxisát, módosítóit, szubkifejezéseit, mohó és nem mohó módjait.

Reguláris kifejezés alapvető szintaxis

A reguláris kifejezés a szövegminták leírására szolgáló szabályok, a leggyakoribb alapvető szintaxisok a következők:

Gyakran használt reguláris kifejezések módosítói

A reguláris kifejezések módosítói a reguláris kifejezések egyezésének szabályait módosítják, a leggyakoribb módosítók a következőek:

Mohó és nem mohó mód

A reguláris kifejezésekben a mennyiségi zárók alapértelmezetten mohóak, a lehető legtöbb karaktert próbálják meg egyeztetni. A nem mohó mód a mennyiségi záróknál egy ? -t adva aktiválható, az alábbi példák alapján:

Szubkifejezések és csoportosítás

A reguláris kifejezésekben a szubkifejezések zárójelek ( ( ) ) használatával vannak definiálva, leggyakrabban a megfelelő részletek nyerésére szolgálnak. A csoportosítás a “|” szimbólummal érhető el. Például:

Reguláris kifejezés gyorskeresése

Az alábbiakban a gyakran használt reguláris kifejezések gyorskeresése:

Funkció Reguláris kifejezés
Számok egyeztetése \d
Nem számok egyeztetése \D
Betűk egyeztetése [a-zA-Z]
Bármely karakter egyeztetése .
Üres karakterek egyeztetése \s

Reguláris kifejezés alkalmazási területei

A reguláris kifejezések széles körben használatosak a következő területeken:

A reguláris kifejezések tanulásához hasznos tippek

Használja azonnal a reguláris kifejezések szintaxisának gyorskeresési táblázatát, hogy hatékonyabban írhassa reguláris kifejezéseit, és javíthassa szövegfeldolgozási képességeit!

A lábnyomai:
Válasszon nyelvet