特定の文字で挟まれた文字を正規表現で抜き出す

公開日: 

やりたいこと

fuga_target_hogeという文字列の中からtargetという文字列を抜き出したい。

実装方法

結論

sample.js
const regExp = /^fuga_(\w+)_hoge$/; // 正規表現

const testString = 'fuga_example_hoge'; // 対象の文字列

const result = testString.match(regExp);

console.log(result[1]); // example

上のようにして正規表現を用いることで目的の文字列を抜き出すことができます。

考え方

この方法は正規表現のキャップチャグループという機能を用いて実装されています。キャプチャグループ化したい表現を()で囲むことで、マッチの結果を記憶することができます。 今回の場合だと、result[0] には全体のマッチ結果が入ってきているため、その次のresult[1] にキャプチャグループのマッチ結果が入ってきます。なので、上の例ではresult[1] の中にexampleという文字列が入ってきているわけです。

最後に

今回の実装はfuga_example_hogeという形の文字列を対象にしていましたが、さまざまな形にも応用できます。 ぜひ色々活用してみてください。

では、Bye