JavaScript:
Bruke regulære uttrykk
Hvordan:
Grunnleggende samsvarende
For å starte, kan du lage et enkelt regex-mønster og bruke det til å finne samsvarende i en streng. Her vil vi finne ordet “kode”:
const str = "Jeg elsker å kode i JavaScript.";
const pattern = /kode/;
const result = pattern.test(str);
console.log(result); // true
Bruk av String.prototype.match()
For å hente en matrise av samsvarende:
const matches = str.match(/kode/);
console.log(matches[0]); // "kode"
console.log(matches.index); // 10
Globalt søk
For å finne alle samsvarende, bruk g
-flagget:
const globalMatches = str.match(/o/g);
console.log(globalMatches); // ["o", "o", "o"]
Samsvarende uten å ta hensyn til bokstavstørrelse
i
-flagget ignorerer bokstavstørrelse:
const caseInsensitiveMatch = "JavaScript er gøy".match(/javascript/i);
console.log(caseInsensitiveMatch[0]); // "JavaScript"
Erstatte tekst
Bruk String.prototype.replace()
til å erstatte deler av strengen:
const newStr = "JavaScript er gøy".replace(/gøy/, "fantastisk");
console.log(newStr); // "JavaScript er fantastisk"
Bruke grupper
Grupper kan fange deler av mønsteret:
const groupedPattern = /(\w+) er (\w+)/;
const replaceWithGroups = "JavaScript er gøy".replace(groupedPattern, "$2 er $1");
console.log(replaceWithGroups); // "gøy er JavaScript"
Tredjepartsbiblioteker
Selv om JavaScripts innebygde regex-kapasiteter er kraftige, kan noen oppgaver forenkles med biblioteker som XRegExp
. Det tilbyr ekstra syntaks og flagg, noe som gjør komplekse mønstre mer lesbare:
// XRegExp bibliotekseksempel
const XRegExp = require('xregexp');
const str = "Katter er fantastiske.";
const unicodeWordMatch = XRegExp.match(str, XRegExp('\\p{L}+'), 'all');
console.log(unicodeWordMatch); // ["Katter", "er", "fantastiske"]
Dette utsnittet demonstrerer bruken av XRegExp
for å samsvare alle Unicode-ord i en streng, og viser bibliotekets evne til å håndtere utvidede tegnsett utover JavaScripts innebygde kapasiteter.