RegularExpression

RegularExpression["regex"]
文字列で指定される正規表現を一般化したものを表す.

詳細詳細

  • RegularExpressionは,StringMatchQStringReplaceStringCasesStringSplitのような関数で,文字列のクラスを表すのに使うことができる.
  • RegularExpressionは,一般の文字列処理言語で使われるのと同様の正規表現の文法をサポートする.
  • 正規表現の文字列では,次の基本的な要素を使うことができる.
  • c文字通りの文字 c
    .改行以外の任意の文字
    [c1c2...] 中の任意の文字
    [c1-c2] から の範囲の任意の文字
    [^c1c2...] 以外の任意の文字
    p*繰り返されたあるいは繰り返されなかった p
    p+繰り返された p
    p?現れたあるいは現れなかった p
    p{m,n}m 回から n 回繰り返された p
    p*?,p+?,p??マッチする最短の文字列
    (p1p2...), , ... にマッチする文字列
    p1|p2あるいは にマッチする文字列
  • 以下は文字のクラスを表す.
  • \\d0から9までの数字
    \\D数字ではないもの
    \\sスペース,改行,タブ,その他の空白類
    \\S空白類文字ではないもの
    \\w文字記号(文字,数字,あるいは
    \\W非文字記号
    [[:class:]]名前の付いたクラス中の記号
    [^[:class:]]名前の付いたクラスには含まれない記号
  • 次の名前付きクラスが使える.
  • 次は文字列中の位置を表す.
  • ^文字列(あるいは行)の先頭
    $文字列(あるいは行)の末尾
    \\b語の区切り
    \\B語の区切り以外の任意の場所
  • 次は,続く正規表現にオプションを設定する.
  • (?i)大文字小文字の区別をしない(大文字小文字を無視)
    (?m) が行の先頭と末尾に一致する(マルチラインモード)
    (?s)を新規行にマッチさせる
    (?-c)オプションを解除する
  • , 等は文字通り等を表す.
  • のような名前付きの Mathematica パターンに類似のパターンを,(regex)を使って正規表現の文字列で設定することができる.
  • 正規表現の文字列内では,\\n 番目のカッコに入った正規表現オブジェクト(regex)にマッチする部分文字列を表す.
  • StringReplaceStringCasesのような関数の目的のために,規則RegularExpression["regex"]->rhs の右辺に現れる任意のregex 中の 番目のカッコに入った正規表現オブジェクトに対応するとみなされる.は,文字列全体がマッチしたことを表す.

例題例題すべて開くすべて閉じる

例 (2)例 (2)

a,b,c,d,eの文字を含む語を求める:

In[1]:=
Click for copyable input
Out[1]=

文字列パターンを使った同等の形式:

In[2]:=
Click for copyable input
Out[2]=

文字列が文字と空白からなっているかどうか判断する:

In[1]:=
Click for copyable input
Out[1]=

文字列パターンを使った同等の形:

In[2]:=
Click for copyable input
Out[2]=
バージョン 5.1 の新機能
New to Mathematica? Find your learning path »
Have a question? Ask support »