JavaScript:
正規表現の使用
使い方:
基本的な一致
始めるにあたり、単純なregexパターンを作成し、文字列内で一致を見つけることができます。ここでは、“code"という単語を見つけます:
const str = "I love to code in JavaScript.";
const pattern = /code/;
const result = pattern.test(str);
console.log(result); // true
String.prototype.match()
の使用
一致する配列を取得するには:
const matches = str.match(/code/);
console.log(matches[0]); // "code"
console.log(matches.index); // 10
グローバル検索
すべての一致を見つけるには、g
フラグを使用します:
const globalMatches = str.match(/o/g);
console.log(globalMatches); // ["o", "o", "o"]
大文字小文字を区別しないマッチング
i
フラグは大文字小文字を無視します:
const caseInsensitiveMatch = "JavaScript is fun".match(/javascript/i);
console.log(caseInsensitiveMatch[0]); // "JavaScript"
テキストの置換
String.prototype.replace()
を使用して、文字列の一部を置き換えます:
const newStr = "JavaScript is fun".replace(/fun/, "awesome");
console.log(newStr); // "JavaScript is awesome"
グループの使用
グループはパターンの一部をキャプチャできます:
const groupedPattern = /(\w+) is (\w+)/;
const replaceWithGroups = "JavaScript is fun".replace(groupedPattern, "$2 is $1");
console.log(replaceWithGroups); // "fun is JavaScript"
サードパーティのライブラリ
JavaScriptの組み込みのregex機能は強力ですが、XRegExp
のようなライブラリを使用すると、いくつかのタスクが簡素化されるかもしれません。これは、追加の構文やフラグを提供し、複雑なパターンをより読みやすくします:
// 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"]
このスニペットは、XRegExp
を使用して文字列内のすべてのUnicode単語に一致する方法を示しており、JavaScriptの組み込み機能を超えた拡張文字セットを扱うライブラリの能力を紹介しています。