名前
regexp - 文字列に正規表現をマッチさせる
概要
regexp ?switches? exp string ?matchVar? ?subMatchVar subMatchVar ...?
説明
-about
-expanded
-indices
-line
-linestop
-lineanchor
-nocase
-all
-inline
-start index
- -
こちらも見よ
キーワード

名前

regexp - 文字列に正規表現をマッチさせる

概要

regexp ?switches? exp string ?matchVar? ?subMatchVar subMatchVar ...?

説明

正規表現expstringの部分かすべてにマッチするかどうかを決定する。もしそうなら、1を返す。もしそうでないなら、0を返す。-inlineが選択されていなくても(以下を見よ)。 (正規表現マッチングはre_syntaxリファレンスページに記載されている。)

stringの後に付加的変数が指定される時、expにマッチしたstringの部分(複数)に関する情報を返す変数の名前として処理される。matchVarexpのすべてにマッチしたstringの範囲にセットされるだろう。最初のsubMatchVarexpの最も左側にある丸括弧に囲まれた部分表現にマッチするstringの文字を含むだろう。次のsubMatchVarexpの右側にある次の丸括弧に囲まれた部分表現にマッチする文字を含んでいるだろう、等々。

regexpの初めの変数が-で始まる時、スイッチとして処理される。次のようなスイッチが現在サポートされる:

-about
正規表現にマッチすることを試みる代わりに正規表現についての情報からなるリストを返す。リストの最初の要素は部分表現の個数である。二番目の要素は正規表現の様々な属性を記述するプロパティ名のリストである。このスイッチは本来デバッグの目的を意図している。

-expanded
空白とコメントを無視する拡張正規表現シンタックスの使用を可能にする。これは(?x)の埋め込みオプションを指定するのと同じである(re_syntaxリファレンスページを見よ)。

-indices
subMatchVarに貯えられるものを変化させる。stringからマッチする文字を貯える代わりに各々の変数はマッチする範囲の文字の最初と最後の文字のstringのインデックスを与える二つの10進数文字列のリストから成る。

-line
改行に敏感なマッチングを可能にする。デフォルトで改行は特別な意味を持たない完全に普通の文字である。このフラッグで`[^'ブラケット表現と`.'はけっして改行にマッチしない。`^'はその正常な機能に加えて改行の後の空文字列にマッチする。そして`$'はその正常な機能に加えて改行の空文字列にマッチする。このフラッグは-linestop-lineanchor、あるいは(?n)の埋め込みオプションを指定するのと等価である(re_syntaxリファレンスページを見よ)。

-linestop
`[^'ブラケット表現と`.'の挙動を変化させ、改行で停止する。これは(?p)の埋め込みオプションを指定するのと同じである(re_syntaxリファレンスページを見よ)。

-lineanchor
`^'と`$'(``アンカー'')の挙動を変化させ、行の始まりと終わりにそれぞれマッチする。これは(?w)の埋め込みオプションを指定するのと同じである(re_syntaxリファレンスページを見よ)。

-nocase
Causes upper-case characters in string中の大文字をマッチング過程で小文字として処理する。

-all
正規表現を文字列中で可能な限り繰り返してマッチさせ、見つかったマッチの数を返す。これはマッチ変数で指定されるならば、最後のマッチのみに関する情報が存続するだろう。

-inline
コマンドをマッチ変数に違った方法で置かれているデータをリストとして返すようにする。-inlineを使う時、マッチ変数は指定されない-allと一緒に使うならば、そのリストは各々の繰り返しで結合され、フラットなリストが常に返される。各々のマッチの繰り返しに関して、コマンドはマッチデータ全体を追加し、せいきそょ右舷の各々の部分表現について、一つの要素を加える。例は:
regexp -inline -- {\w(\w)} " inlined "
 => {in n}
    regexp -all -inline -- {\w(\w)} " inlined "
 => {in n li i ne e}

-start index
正規表現がマッチを始める文字列の文字インデックス・オフセットを指定する。このスイッチを使う時、`^'は行の始めにマッチしない。そして\Aはindexで文字列のスタートにまだマッチする。-indicesが指定されるならば、インデックスは入力文字列の絶対的な始まりからスタートするようにインデックス付けされる。indexは入力文字列の境界に閉じ込められる。

- -
スイッチの終わりに印をつける。これ一つに続く変数は、-でスタートする場合でさえもexpとして処理される。

exp内の丸括弧で囲まれた部分表現よりもsubMatchVarが多いならば、あるいはexpの特別な部分表現が文字列にマッチしないならば(例えば、それがマッチしなかった表現の一部分にあったので)、そのとき対応するsubMatchVar-indicesが指定されるならば、``-1 -1''にセットされるか、さもなくば空文字列にセットされるだろう。

こちらも見よ

re_syntax, regsub

キーワード

match, regular expression, string
Copyright © 1998 Sun Microsystems, Inc.
Copyright © 1995-1997 Roger E. Critchlow Jr.