Säännöllisten lausekkeiden käyttö

JavaScript:
Säännöllisten lausekkeiden käyttö

Kuinka:

Perusvastaavuus

Aloittaaksesi voit luoda yksinkertaisen regex-mallin ja käyttää sitä löytääksesi vastaavuuksia merkkijonosta. Tässä etsimme sanaa “code”:

const str = "I love to code in JavaScript.";
const pattern = /code/;
const result = pattern.test(str);
console.log(result); // true

Käyttäen String.prototype.match()

Saadaksesi taulukon vastaavuuksista:

const matches = str.match(/code/);
console.log(matches[0]); // "code"
console.log(matches.index); // 10

Globaali haku

Löytääksesi kaikki vastaavuudet, käytä g-lippua:

const globalMatches = str.match(/o/g);
console.log(globalMatches); // ["o", "o", "o"]

Suur- ja pienaakkosista piittaamaton haku

i-lippu ohittaa kirjainkoon:

const caseInsensitiveMatch = "JavaScript is fun".match(/javascript/i);
console.log(caseInsensitiveMatch[0]); // "JavaScript"

Tekstin korvaaminen

Käytä String.prototype.replace() korvataksesi osia merkkijonosta:

const newStr = "JavaScript is fun".replace(/fun/, "awesome");
console.log(newStr); // "JavaScript is awesome"

Ryhmien käyttö

Ryhmillä voidaan tallentaa osia mallista:

const groupedPattern = /(\w+) is (\w+)/;
const replaceWithGroups = "JavaScript is fun".replace(groupedPattern, "$2 is $1");
console.log(replaceWithGroups); // "fun is JavaScript"

Ulkopuoliset kirjastot

Vaikka JavaScriptin sisäänrakennetut regex-ominaisuudet ovat tehokkaita, jotkut tehtävät saattavat yksinkertaistua kirjastoilla, kuten XRegExp. Se tarjoaa lisäsyntaksia ja lippuja, tekee monimutkaisista malleista luettavampia:

// XRegExp-kirjaston esimerkki
const XRegExp = require('xregexp');
const str = "Cats are fantastic.";
const unicodeWordMatch = XRegExp.match(str, XRegExp('\\p{L}+'), 'all');
console.log(unicodeWordMatch); // ["Cats", "are", "fantastic"]

Tämä katkelma esittelee XRegExpin käyttöä kaikkien Unicode-sanojen vastaavuuksien etsimiseen merkkijonosta, esitellen kirjaston kyvyn käsitellä laajennettuja merkistökokoelmia JavaScriptin sisäänrakennettujen ominaisuuksien ulkopuolella.