JavaScript:
Utilizzo delle espressioni regolari
Come fare:
Abbinamento Base
Per iniziare, puoi creare un semplice pattern regex e usarlo per trovare corrispondenze in una stringa. Qui, troveremo la parola “code”:
const str = "I love to code in JavaScript.";
const pattern = /code/;
const result = pattern.test(str);
console.log(result); // true
Utilizzando String.prototype.match()
Per recuperare un array di corrispondenze:
const matches = str.match(/code/);
console.log(matches[0]); // "code"
console.log(matches.index); // 10
Ricerca Globale
Per trovare tutte le corrispondenze, usare il flag g
:
const globalMatches = str.match(/o/g);
console.log(globalMatches); // ["o", "o", "o"]
Abbinamento Insensibile al Maiuscolo/Minuscolo
Il flag i
ignora il maiuscolo/minuscolo:
const caseInsensitiveMatch = "JavaScript is fun".match(/javascript/i);
console.log(caseInsensitiveMatch[0]); // "JavaScript"
Sostituire Testo
Usa String.prototype.replace()
per sostituire parti della stringa:
const newStr = "JavaScript is fun".replace(/fun/, "awesome");
console.log(newStr); // "JavaScript is awesome"
Utilizzando Gruppi
I gruppi possono catturare parti del pattern:
const groupedPattern = /(\w+) is (\w+)/;
const replaceWithGroups = "JavaScript is fun".replace(groupedPattern, "$2 is $1");
console.log(replaceWithGroups); // "fun is JavaScript"
Librerie di Terze Parti
Sebbene le capacità regex integrate in JavaScript siano potenti, alcune attività potrebbero essere semplificate con librerie come XRegExp
. Offre una sintassi aggiuntiva e flag, rendendo i pattern complessi più leggibili:
// Esempio della libreria XRegExp
const XRegExp = require('xregexp');
const str = "Cats are fantastic.";
const unicodeWordMatch = XRegExp.match(str, XRegExp('\\p{L}+'), 'all');
console.log(unicodeWordMatch); // ["Cats", "are", "fantastic"]
Questo frammento dimostra l’uso di XRegExp
per abbinare tutte le parole Unicode in una stringa, mostrando la capacità della libreria di gestire insiemi di caratteri estesi oltre le capacità integrate di JavaScript.