Bevezetés a szabályos kifejezésekhez a JavaScript-ben
A szabályos kifejezések olyan karakterláncok, amelyeket egy másik karakterlánc tartalmának érvényesítésére használnak. Ezeket a karakterláncokat, amelyek a reguláris kifejezést képezik, egy objektumban tárolják.
Szintaxis
var regEx = /^(A-Za-z)/;
Itt a „regEx” elnevezésű változó objektum a reguláris kifejezési mintát tartja. Most teszteljük, hogy egy másik karakterlánc megegyezik-e ezzel a reguláris kifejezéssel.
Kód
var str = "EduCBA";
var regEx = /^(A-Za-z)/;
var res = "false";
if(str.match(regEx))(
res= "true";
)
alert(res);
Kimenet:
igaz
A fenti példában a reguláris kifejezés ellenőrzi, hogy a karakterlánc csak A – Z ábécét tartalmaz-e, mind a felső, mind az alsó részben. Ha igen, akkor „igaz”, ha nem „hamis” értéket ad vissza.
Rendszeres kifejezés szintaxisa JavaScript-ben
A reguláris kifejezés két részből áll. Az első rész a minta, amelyet választható zászló követ.
Szintaxis
var regEx = /pattern/flag
A zászlókat módosítóknak is nevezik. Kevés általánosan használt opcionális zászló van
-
g - globális
Több találatot talál. Ha nem használják, akkor az első mérkőzés után megáll.
Kód
var str = "I scream, you scream, we all scream for ice cream";
var regEx = / scream/g;
var result = str.match(regEx);
alert( result );
Kimenet:
sikoly, sikoly, sikoly // Visszatér a karakterláncban található összes találathoz.
-
i - figyelmen kívül hagyó eset
Ez a kis- és nagybetű nem érzékeny, és megegyezik a nagy- és az alsó betűkkel. Ha nincs beállítva, akkor a keresés kis- és nagybetűk között érzékeny.
Kód
var str = "Hello EduCBA";
var regEx = /educba/i;
alert( str.search(regEx) );
Kimenet:
6 // visszaadja azt az indexet, amelyen a karakterlánc megtalálható.
riasztás (str.search (/ eduba /)); // globális zászló nélkül
Kimenet:
-1
-
m - több sor
Befolyásolja a „^” és „$” karakterek viselkedését. Több sor esetén a sorok elején és végén található egyezéseket keresi, nem pedig a teljes karakterlánchoz. Ha nem több soros módban van, akkor csak a teljes karakterlánc egyezései kerülnek visszaadásra.
Kód
var str = `I scream,
you scream,
we all scream for ice cream`;
var regEx = /^\w+/gm;
var result = str.match(regEx);
alert( result );
Kimenet:
Én, te, mi // minden sor első szót kinyomtatjuk.
Vessünk egy pillantást a reguláris kifejezés mintáira. A minta sorokat, metakaraktereket, számszerűsítőket stb. Tartalmaz
Rendszeres kifejezések mecharakterjei a JavaScript-ben
A metakarakterek képezik a reguláris kifejezés mintájának alapját. Ezek a hátrányos perjel kombinációja ábécé karakterrel, amelyek együttesen metakaraktert képeznek, és mindegyiküknek különleges jelentése van. Például az „\ n” egy új sort jelöl. A metakarakterek néhány további példája.
- \ t - egy tab karakter megkeresésére szolgál.
- \ v - függőleges lapkarakter keresésére szolgál.
- \ s - szóköz karakterek keresésére szolgál.
- \ S - nem szóköz karakterek keresésére szolgál.
- \ d - numerikus számjegyek keresésére szolgál.
- \ D - nun-számjegyek keresésére szolgál.
- \ w - szavak keresésére szolgál.
- \ W - a szavak kivételével bármit megkeres.
- . - egy ponttal egy karakter megtalálható, kivéve az új sort vagy a sor végét.
- \ 0 - null karakter megtalálására szolgál.
A reguláris kifejezések halmazai és tartományai a JavaScript-ben
Ebben a forgatókönyvben szögletes zárójelet használnak részeként
Szintaxis
Say, for the set (abc) – only the characters a, b and c are to be considered.
1. példa
- (abc) - ez az abc-tól eltérő karakter.
- (a | b) - Az a vagy a b is figyelembe vehető.
A tartományok esetében egy tartományt kell biztosítani az adott tartomány között, az összes karaktert figyelembe kell venni. Például: (az): az a és z közötti összes karakter, kisbetűkkel.
2. példa
- (0-9) - minden karakter nullától kilencig.
- (AZ) - minden karakter A-tól Z-ig nagybetűkkel.
A reguláris kifejezések mennyiségi meghatározói a JavaScript-ben
Ezeket speciális karakterekkel jelöljük. Minden speciális karakternek van jelentése ehhez társítva. Ezeket a karaktereket a reguláris kifejezésekkel együtt használjuk. A leggyakrabban használt számszerűsítők közül néhány a következő:
- * - Egyezik egy karakterlánccal, amely nulla vagy több példányt tartalmaz.
- + - Egy vagy több példányt tartalmazó karakterláncra illeszkedik.
- ? - Egyezik egy nullát vagy egy példányt tartalmazó karakterlánccal.
- (n) - Itt az „n” számot vesz be. Megfelel a kívánt reguláris kifejezésnek az „n” helyett említett számú alkalommal.
- $ - egyezi a megadott kifejezést a karakterlánc végével.
- - Megfelel a megadott kifejezésnek a karakterlánc elejével.
- ? = - Bármely karakterlánc illeszkedik a regex mintázathoz az egyenlőségjel után.
- ?! - Megfelel minden olyan karakterlánchoz, amely nem tartalmaz a regex mintát a felkiáltójel után.
A reguláris kifejezések tulajdonságai a JavaScript-ben
A következő tulajdonságokból áll:
- Konstruktorok - Meghatározza, hogy melyik függvény hozta létre a reguláris kifejezés objektum prototípusát.
- Globális - Ellenőrzi, hogy a „g” jelző be van-e állítva.
- Ignore case - Ellenőrzi, hogy be van-e állítva az „i” jelző.
- Az utolsó index - meghatározza az index pozícióját, amelytől a következő mérkőzésnek meg kell kezdődnie.
- Többvonalas - Ellenőrzi, hogy be van-e állítva az „m” jelző.
- Forrás - megadja a reguláris kifejezési mintázat szövegét.
Módszerek szabályos kifejezésekben és karakterláncokban
A szabályos kifejezésekben általánosan használt módszerek
- exec () - Végrehajtja egyezés keresését egy karakterláncban, és visszatér az első egyezés. Ha nem található egyezés, akkor null értéket ad vissza.
- test () - Egy karakterláncban szereplő mérkőzések tesztelése, és az eredmény logikai formában adódik vissza. Vagyis ha egyezés található, akkor az igaz, ha nem, akkor hamisat ad vissza.
- toString () - Visszaadja a reguláris kifejezés ekvivalens karakterlánc objektumát.
Karakterlánc-módszerek, amelyek hasznosak a reguláris kifejezések használatakor
- match () - Ez egy karakterlánc módszer, amely egyezésre keres egy karakterláncban. Ha megtalálja, akkor a mérkőzést adja, ha nem, akkor nullát adja vissza.
- matchAll () - Ez egy karakterlánc módszer, amely minden karakterláncot keres egy karakterláncban.
- split () - Ez egy karakterlánc módszer, amelyet egy karakterlánc törésére használnak a megadott reguláris kifejezés alapján.
- search () - Ez egy karakterlánc módszer, amelyet az adott reguláris kifejezéshez való illesztés keresésére használnak. 0 eredményt ad eredményként és -1 sikertelenség esetén.
Következtetés
Rendszeres kifejezések írhatók úgy, hogy szükség esetén különféle metakarakterek, mennyiségi meghatározók és jelzők kombinációit használják. Saját módszereikkel is jönnek, és jól működnek a gyakran használt karakterlánc-módszerekkel is. Ezeket könnyen felhasználhatnánk érvényesítésre vagy a tartalom korlátozására az egyéni igények szerint.
Ajánlott cikkek
Ez egy útmutató a rendes kifejezésekhez JavaScript-ben. Itt tárgyaltuk a szintaxist a normál kifejezésekhez JavaScript-ben, metakaraktereket, halmazokat és tartományokat, mennyiségi mutatókat, tulajdonságokat, módszereket a kimenetekkel. Megnézheti az adott cikkeket is, hogy többet megtudjon-
- Hogyan működik a JavaScript?
- Mi a JavaScript?
- Hogyan kell telepíteni a JavaScriptet
- Bevezetés a JavaScript-be
- Regex funkciók a Pythonban (példa)