JavaScript:
Att använda reguljära uttryck
Hur man gör:
Grundläggande matchning
För att börja kan du skapa ett enkelt regex-mönster och använda det för att hitta matchningar i en sträng. Här ska vi hitta ordet “code”:
const str = "I love to code in JavaScript.";
const pattern = /code/;
const result = pattern.test(str);
console.log(result); // true
Använda String.prototype.match()
För att hämta en array med matchningar:
const matches = str.match(/code/);
console.log(matches[0]); // "code"
console.log(matches.index); // 10
Globalt Sök
För att hitta alla matchningar, använd flaggan g
:
const globalMatches = str.match(/o/g);
console.log(globalMatches); // ["o", "o", "o"]
Skiftlägesokänslig matchning
Flaggan i
ignorerar skiftläge:
const caseInsensitiveMatch = "JavaScript är kul".match(/javascript/i);
console.log(caseInsensitiveMatch[0]); // "JavaScript"
Ersätta Text
Använd String.prototype.replace()
för att ersätta delar av strängen:
const newStr = "JavaScript är kul".replace(/kul/, "fantastiskt");
console.log(newStr); // "JavaScript är fantastiskt"
Använda Grupper
Grupper kan fånga delar av mönstret:
const groupedPattern = /(\w+) är (\w+)/;
const replaceWithGroups = "JavaScript är kul".replace(groupedPattern, "$2 är $1");
console.log(replaceWithGroups); // "kul är JavaScript"
Tredjepartbibliotek
Även om JavaScripts inbyggda regex-funktioner är kraftfulla, kan vissa uppgifter förenklas med bibliotek som XRegExp
. Det erbjuder ytterligare syntax och flaggor, vilket gör komplexa mönster mer läsbara:
// Exempel med XRegExp-biblioteket
const XRegExp = require('xregexp');
const str = "Katter är fantastiska.";
const unicodeWordMatch = XRegExp.match(str, XRegExp('\\p{L}+'), 'all');
console.log(unicodeWordMatch); // ["Katter", "är", "fantastiska"]
Det här avsnittet demonstrerar användning av XRegExp
för att matcha alla Unicode-ord i en sträng, vilket visar bibliotekets förmåga att hantera utökade teckenuppsättningar utöver JavaScripts inbyggda kapaciteter.