RubyのString/Regexpクラスによる強力な文字列操作/正規表現 等を参考にしています。 それでは、早速みていきたいと思います。 正規表現を使う Regexpクラス.
特定の単語にマッチする正規表現 例えばappという単語を正規表現でマッチさせることを考える。欲しいのはappのみで、appleのようにappを含む別の単語にはマッチさせたくないとする。このような場合、単語の区切りを表すメタ文字\bを利用して、以下の正規表現で要件を満たせる。 Rubyで正規表現を扱うためのクラスはRegexpクラスです。(Regexp = Regular Expression) Ruby は鬼車という超強力な正規表現エンジンを採用しているので、正規表現で日本語のひらがな・カタカナ・漢字にマッチさせるのも簡単です。 鬼車
正規表現による文字列とのマッチングは「=~」演算子で行います。Rubyのマッチングではデフォルトでは欲張りマッチングです。 マッチした場合は、マッチした文字列中の場所の先頭インデックスを返します。また、マッチした部分や前後の文字列を取り出すことができます マッチした場合は文字列のどの位置からマッチしたかを返しています。例えば「ppabc」に対してマッチングをした場合は次のようになります。 ppabc ----- 01234 正規表現オブジェクトが表すパターンは「abc」ですので、文字列の「a」の部分からマッチしています。
正規表現オブジェクトのマッチが成功すると1番目の括弧で囲まれたパターンにマッチした部分が特別な変数「$1」に格納され、2番目ので囲まれたパターンにマッチした部分が変数「$2」に格納されます。(括弧が2個以上ある場合も同様です)。 正規表現オブジェクトのマッチが成功すると1番目の括弧で囲まれたパターンにマッチした部分が特別な変数「$1」に格納され、2番目ので囲まれたパターンにマッチした部分が変数「$2」に格納されます。(括弧が2個以上ある場合も同様です)。 正規表現オブジェクト =~ string オブジェクトが右辺の文字列オブジェクトにマッチした場合には、マッチした位置のインデックスを返します。インデックスは対象の文字列の先頭の文字を0とし、パターンにマッチした場合の先頭の文字の位置です。マッチしなかった場合は「nil」が返されます。 More than 5 years have passed since last update. Ruby. 正規表現エンジンは、Ruby 1.9系だと鬼車、2.0系以降だと鬼雲が使われています。 違いとして顕著なのは、 Unicode 文字プロパティに関しての部分だと思いますので、気になることは滅多に無いと思いま … なお正規表現オブジェクトに対して「=~」メソッドがマッチした場合、マッチした部分が変数「$&」に格納されます。その為、マッチに成功した後で変数「$&」を参照すると対象の文字列の中のどの部分にマッチしたかを確認できます。 サンプルプログラム 文字列.match( 正規表現 ) [PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中matchで正規表現を使う この記事では、matchで正規表現を使う方法について解説します。 まずは、簡単な関数を用意します。
JavaScriptの練習