解説
正規表現は文字列のパターンを表現する方法です。検索や置換で用いられて、複雑な条件で文字列に一致させることが可能です。正規表現では、メタ文字、メタキャラクターと呼ばれる記号を使い、文字を抽象化して出現パターンを記します。
この正規表現は、多くのプログラミング言語や、テキストエディタで利用できます。使用するプログラミング言語などの環境によって、微妙に仕様が違うので、使用前に確認が必要です。本記事では、JavaScriptの正規表現を中心に扱います(他のプログラミング言語の正規表現も、大きな差はありません)。
今回は、その正規表現の中から、複数の単語をORで並べたり、グループ化したりする方法を紹介します。ORは「|」で、グループ化は「( )」で行えます。
var str = "埼玉県埼玉市出身の埼玉さん。千葉県千葉市出身の千葉さん。" console.log(str.replace(/(埼玉|千葉)(県|市)/g, "○○"));
○○○○出身の埼玉さん。○○○○出身の千葉さん。
「|」や「( )」を使うことで、柔軟な検索を行うことができます。
サンプル
正規表現で「ORとグループ」を利用したコードを、JavaScriptで簡単に書いてみます。
<html>
<head>
<title>「ORとグループ」のサンプル</title>
</head>
<body>
<pre><script type="text/javascript">
var str = "私は猫。僕は猫。\n"
+ "自分は、猫になりました。\n"
+ "ニャーニャーニャーニャー鳴いている。\n"
+ "わたしは猫。ぼくは猫。いつのまにかなっていた。";
document.writeln(str);
document.writeln("");
// 主語を統一する。
str = str.replace(/(私|わたし|僕|ぼく|自分)/g, "俺");
document.writeln(str);
</script></pre>
</body>
</html>
私は猫。僕は猫。 自分は、猫になりました。 ニャーニャーニャーニャー鳴いている。 わたしは猫。ぼくは猫。いつのまにかなっていた。 俺は猫。俺は猫。 俺は、猫になりました。 ニャーニャーニャーニャー鳴いている。 俺は猫。俺は猫。いつのまにかなっていた。
