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 XRegExp
in käyttöä kaikkien Unicode-sanojen vastaavuuksien etsimiseen merkkijonosta, esitellen kirjaston kyvyn käsitellä laajennettuja merkistökokoelmia JavaScriptin sisäänrakennettujen ominaisuuksien ulkopuolella.