Hitra referenčna tabela za sintakso regularnih izrazov

Regularni izrazi, znani tudi kot vzorčni izrazi, so način za prepoznavanje, zamenjavo in nadzorovanje besedila. Vključujejo črke od a do z ter posebne metakaraktere. Uporaba regularnih izrazov je zelo široka, prvotno so jih popularizirali v Unix-u, kasneje pa se široko uporabljajo v jezikih, kot so Scala, PHP, C#, Java, C++, Objective-C, Perl, Swift, VBScript, JavaScript, Ruby ter Python. Učenje regularnih izrazov je dejansko učenje fleksibilnega logičnega razmišljanja, ki omogoča hitre in preproste metode za nadzor nad nizi.
Regularni znak Opis
\ Označi, da je naslednji znak posebni znak, ali znak z izvirnim pomenom, ali backreference, ali oktalni escape znak. Na primer, “n" se ujema z znakom "n". "\n" se ujema z novim praznim znakom. Znak "\\" se ujema z "\", medtem ko "\(" pomeni "(".
^ Ujema se z začetkom vnosa. Če je nastavljen atribut večvrstičnega objekta RegExp, ^ tudi ujema z "“\n" ali "\r" po vsebini.
$ Ujema se z koncem vnosa. Če je nastavljen atribut večvrstičnega objekta RegExp, $ tudi ujema z "“\n" ali "\r" pred vsebino.
* Ujema se z predhodnim podizrazom ničkrat ali večkrat. Na primer, "zo*" se ujema z "“z" in "zoo". * je ekvivalenten {0,}.
+ Ujema se z predhodnim podizrazom enkrat ali večkrat. Na primer, "“zo+" se ujema z "zo" in "zoo", ne pa z "z". + je ekvivalenten {1,}.
? Ujema se z predhodnim podizrazom ničkrat ali enkrat. Na primer, "“do(es)?" se lahko ujema z "does" ali z "do" v "does". ? je ekvivalentno {0,1}.
{n} n je nenegativno celo število. Ujema se z natančnim n krat. Na primer, "“o{2}" ne more ujeti "Bob" v "o", vendar se ujema s "food" z dvema o.
{n,} n je nenegativno celo število. Ujema se z vsaj n krat. Na primer, "“o{2,}" se ne ujema z "Bob" v "o", vendar se ujema z vsemi o v "foooood". "o{1,}" je ekvivalenten "o+". "o{0,}" je ekvivalenten "o*".
{n,m} m in n sta nenegativni celoštevilčne vrednosti, kjer n<=m. Ujema se z vsaj n krat in največ m krat. Na primer, "“o{1,3}" se ujema s prvimi tremi o v "fooooood". "o{0,1}" je ekvivalentno "o?". Pazite, da med vejico in številom ne sme biti presledka.
? Ko se ta znak nahaja takoj za katerim koli drugim kvalifikatorjem (*, +, ?, {n}, {n,}, {n,m}), se vzorec ujema na nekam neumnen način. Neumnen vzorec se ujema kar se da malo iskanih nizov, medtem ko privzeti neumnen način želi ujeti kar se da veliko iskanih nizov. Na primer, za niz “oooo" se "o+?" ujema z enim samim "o", medtem ko "o+" ujema vse "o".
. Ujema se z enim samim znakom, razen z "“\n". Da se ujema z vsemi znaki, vključno z "\n", uporabite vzorec, kot je "(.|\n)".
(pattern) Ujema se z vzorcem in ujame to ujemanje. Ujame se lahko iz nabora "Matches" - v VBScript-u uporabite "SubMatches", v JScript-u pa "$0…$9" atribuite. Da se ujema z okroglimi oklepaji, uporabite "“\(" ali "\)".
(?:pattern) Ujema se z vzorcem, vendar ne ujame ujemanja, kar pomeni, da gre za ujemanje brez pridobitve, ki se ne shrani za kasnejšo uporabo. To je koristno pri uporabi znaka za ali "“(|)" za kombiniranje različnih delov vzorca. Na primer, "industr(?:y|ies)" je krajši izraz od "industry|industries".
(?=pattern) Potrjen predpogoj naprej, ustreza začetek iskanja niza, ki se ujema s vzorcem. To je ujemanje brez pridobitve, kar pomeni, da to ujemanje ni nujno shranjeno za kasnejšo uporabo. Na primer, "“Windows(?=95|98|NT|2000)" se ujema z "Windows" v "Windows2000", ne pa z "Windows" v "Windows3.1". Predpogoj ne porabi znakov, kar pomeni, da se po izvršenem ujemanju takoj začne iskanje naslednjega ujemanja ni od zadnjega znaka ujemanja, temveč od znaka, ki je vseboval predpogoj.
(?!pattern) Negativen potrjen predpogoj, se ujema na začetku iskanja niza, ki se ne ujema z vzorcem. To je ujemanje brez pridobitve in to ujemanje ni potrebno pridobiti za kasnejšo uporabo. Na primer "“Windows(?!95|98|NT|2000)" se ujema z "Windows" v "Windows3.1", a ne z "Windows" v "Windows2000". Predpogoj ne porabi znakov, kar pomeni, da se po prijavici preprosto začne iskanje novega ujemanja od zadnjega znaka ujemanja namesto da bi začeli od znaka, ki je vseboval predpogoj.
(?<=pattern) Negativen potrjen predpogoj, ki je podoben pozitivnemu predpogoju samo z nasprotnim smislom. Na primer,“(?<=95|98|NT|2000)Windows" se ujema z "2000Windows" v "Windows", ne pa z "3.1Windows" v "Windows"
(?<!pattern) Negativni predpogoj, ki je podoben pozitivnemu le v nasprotni smeri. Na primer "“(?<!95|98|NT|2000)Windows" se ujema z "3.1Windows" v "Windows", ne pa z "2000Windows" v "Windows".
x|y Ujema se z x ali y. Na primer "“z|food" se lahko ujema z "z" ali "food". "(z|f)ood" se ujema z "zood" ali "food".
[xyz] Zbirka znakov. Ujema se z enim od znakov, ki so vključeni. Na primer "“[abc]" se ujema z "a" v "plain".
[^xyz] Zbirka brez vrednosti. Ujema se z znakom, ki ni vključen. Na primer "“[^abc]" se ujema z "p" v "plain"
[a-z] Pojemni razpon. Ujema se z znakom znotraj navedenega razpona. Na primer "“[a-z]" se ujema z vsakim malim znakom od "a" do "z".
[^a-z] Negativen obseg znakov. Ujema se kot katerega koli znaka, ki ni v razponu. Na primer "“[^a-z]" se ujema z vsem, kar ni v razponu "a" do "z".
\b Ujema se z mejo besede, kar pomeni, da se ujema z mestom med besedo in presledkom. Na primer "“er\b" se ujema z "er" v "never", vendar se ne ujema z "er" v "verb".
\B Ujema se z nepovratno mejo. "“er\B" se ujema z "er" v "verb", medtem ko se ne ujema z "er" v "never".
\cx Ujema se s kontrolnim znakom, ki ga označuje x. Na primer, "\cM" se ujema s kontrolnim M ali povratnim znakom. Vrednost x mora biti ena izmed A-Z ali a-z. V nasprotnem primeru se c obravnava kot izvorna "“c" značko.
\d Ujema se z znakom, ki predstavlja številko. Ekvivalentno [0-9].
\D Ujema se z znakom, ki ni številka. Ekvivalentno [^0-9].
\f Ujema se z znamko za prelom strani. Ekvivalentno \x0c in \cL.
\n Ujema se z novim redom. Ekvivalentno \x0a in \cJ.
\r Ujema se z vrnitveno oznako. Ekvivalentno \x0d in \cM.
\s Ujema se z vsemi belimi znaki, vključno s presledki, tabulatorji, prelomnimi stranmi itd. Ekvivalentno [ \f\n\r\t\v].
\S Ujema se z vsemi znaki, ki niso beline. Ekvivalentno [^ \f\n\r\t\v].
\t Ujema se z znakom tabulatorja. Ekvivalentno \x09 in \cI.
\v Ujema se z vertikalnim tabulatorjem. Ekvivalentno \x0b in \cK.
\w Ujema se z vsemi znaki besede, vključno z podčrtajem. Ekvivalentno "“[A-Za-z0-9_]".
\W Ujema se z znaki, ki niso znaki besede. Ekvivalentno "“[^A-Za-z0-9_]".
\xn Ujema se z n, kjer je n vrednost hex escapinga. Hex escape vrednost mora biti določeno dolžina dveh števk. Na primer, "“\x41" se ujema z "A". "\x041" je ekvivalenteno "\x04&1". Regularni izrazi lahko uporabljajo ASCII kodiranje.
\num Ujema se z num, kjer je num pozitivno celo število. Urejevanje ujemanja. Na primer, "“(.)\1" se ujema z dvema zaporednima istima znakama.
\n Identificira oktalni escape znak ali backreference. Če je \n pred vsaj n ujetimi podizrazi, potem je n backreference. Drugače, če je n oktalna številka (0-7), potem je n oktalni escape znak.
\nm Identificira oktalni escape znak ali backreference. Če je \nm pred vsaj nm ujetimi podizrazi, potem je nm backreference. Če je nm pred vsaj n ujetimi, potem je n backreference, ki ji sledi znak m. Če nobena prejšnja situacija ni izpolnjena in sta n in m oboje oktalne številke(0-7), potem nm ujema oktalni escape znak nm.
\nml Če je n oktalna številka (0-3) in sta m in l oba oktalne številke (0-7), se ujema oktalni escape znak nml.
\un Ujema se z n, kjer je n oznaka Unicode, predstavljena s štirimi hex številkami. Na primer, \u00A9 ujema s simbolom avtorskih pravic (©).
Pogosto uporabljeni regularni izrazi
Uporabniško ime /^[a-z0-9_-]{3,16}$/
Geslo /^[a-z0-9_-]{6,18}$/
Geslo 2 (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$ (sestavljeno iz številk/velikih črk/malih črk/specialnih znakov, vse štiri morajo biti prisotne, vsaj 8 znakov)
Šestnajstiška vrednost /^#?([a-f0-9]{6}|[a-f0-9]{3})$/
Elektronski naslov /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ ali \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
URL /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ ali [a-zA-z]+://[^\s]*
IP naslov /((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]?)$/ ali ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
HTML oznake /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ ali <(.*)(.*)>.*<\/\1>|<(.*) \/>
Odstranjevanje kode\\komentarjev (?<!http:|\S)//.*$
Ujemanje dvo-byte znakov (vključno s kitajskimi znaki) [^\x00-\xff]
Kitajski znaki (znak) [\u4e00-\u9fa5]
Razpon kitajskih znakov v Unicode kodi /^[\u2E80-\u9FFF]+$/
Kitajski in polnožični interpunction (znak) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
Datum (leto-mesec-dan) (\d{4}|\d{2})-((0?([1-9]))|(1[1|2]))-((0?[1-9])|([12]([1-9]))|(3[0|1]))
Datum (mesec/dan/leto) ((0?[1-9]{1})|(1[1|2]))/(0?[1-9]|([12][1-9])|(3[0|1]))/(\d{4}|\d{2})
Čas (ura:minuta, 24-urni format) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
Fiksna telefonska številka na Kitajskem (\d{4}-|\d{3}-)?(\d{8}|\d{7})
Mobilna telefonska številka na Kitajskem 1\d{10}
Poštna številka na Kitajskem [1-9]\d{5}
Identifikacijska številka na Kitajskem (15 ali 18 mest) \d{15}(\d\d[0-9xX])?
Brez negativnih števil (pozitivne številke ali nič) \d+
Pozitivna cela števila [0-9]*[1-9][0-9]*
Negativna cela števila -[0-9]*[1-9][0-9]*
Celo število -?\d+
Decimalno število (-?\d+)(\.\d+)?
Prazne vrstice \n\s*\r ali \n\n(editplus) ali ^[\s\S ]*\n
QQ številke [1-9]\d{4,}
Besede, ki ne vsebujejo abc \b((?!abc)\w)+\b
Ujemanje začetnih in končnih belih znakov ^\s*|\s*$
Pogosto uporabljeni za urejanje
Naslednje so nekatere zamenjave za posebne kitajske znake (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>

Orodje za hitro iskanje sintakse regularnih izrazov - Tehnike in sintaksa pogosto uporabljenih regularnih izrazov

Regularni izrazi so močno orodje za obdelavo besedil in ta stran vam nudi hitro orodje za iskanje sintakse regularnih izrazov, ki vam pomaga hitro razumeti osnovno sintakso, modifierje, podizraz, pohlepne in ne pohlepne metode itd.

Osnovna sintaksa regularnih izrazov

Regularni izrazi se uporabljajo za opisovanje pravil vzorcev nizov, pogosto uporabljena osnovna sintaksa vključuje:

Modifierji pogosto uporabljeni za regularne izraze

Modifierji za regularne izraze se uporabljajo za spreminjanje pravil regularnega izraza, pogosti modifierji vključujejo:

Pohlepni in nepohlepni načini

V regularnih izrazih so kvalifikatorji privzeto pohlepni, kar pomeni, da se trudijo ujeti čim več znakov. Nepohlepni način se aktivira z dodajanjem ? po kvalifikatorju, kot je prikazano spodaj:

Podizrazi in skupine

V regularnih izrazih se podizrazi določijo z okroglimi oklepaji (()) in se pogosto uporabljajo za zajemanje ujemajočih se delov. Skupine se izvedejo z simbolom "|". Na primer:

Hitro iskanje regularnih izrazov

Tukaj je hitro iskanje pogosto uporabljenih regularnih izrazov:

Funkcija Regularni izraz
Ujemanje številk \d
Ujemanje neštevilskih znakov \D
Ujemanje črk [a-zA-Z]
Ujemanje vseh znakov .
Ujemanje belih znakov \s

Uporaba regularnih izrazov

Regularne izraze se široko uporablja v naslednjih situacijah:

Nasveti za učenje regularnih izrazov

Takoj uporabljajte naše hitro orodje za iskanje sintakse regularnih izrazov, da boste bolj učinkovito pisali regularne izraze in izboljšali obdelavo besedil!

Vaša sled:
Izberite jezik