Written in Japanese(UTF-8)
2014.10.27
INASOFT
2014.10.27
INASOFT
/トップ/いじくるつくーる/ダウンロード/WebHelp/ヘルプトップ/
本ソフトウェアの開発は終了しています。ヘルプに記載されている情報も古いものになっています。

R-Script 文字列操作用関数
■Regex_Match
正規表現を用いて、文字列が一致しているかどうかを調べます。
Regex_Match( str$, re$ [ , option$] )
●引数
str$ … 検査対象の文字列を指定します。
re$ … 正規表現を指定します。
option$ … オプションを指定します。オプションで指定できる文字については「●解説」参照。
●戻り値
文字列が一致していた場合、1 が返ります。
文字列が一致してなかった場合、0 が返ります。
エラーが発生した場合は、ERROR(0xffffffff) が返ります。
●解説
正規表現を用いて、文字列の一致を調査します。
(これは、Boost C++ Library を利用して実装されています。正規表現の詳細は、下の「正規表現(boost::regex)について」をご覧下さい。)
オプションでは、次の文字が指定できます。
"i" … 英大小文字の違いを無視します。
●サンプル
regex_match( "abc12345", "[a-z]*[1-5]+" ) …… 1 が返ります。 regex_match( "abc12345", "[A-Z]*[1-5]+" ) …… 0 が返ります。 regex_match( "abc12345", "[A-Z]*[1-5]+", "i" ) …… 1 が返ります。
●正規表現(boost::regex)について
このソフトウェアでは、「文字列の置換」において、正規表現やタグ指定が利用できます。これは、boostライブラリのregexを利用したものであるため、boost::regexについてご存じであれば、その方法に従うと考えると簡単です。
テキストファイルは内部的にUnicodeに変換されますので、日本語も使用できます。
一般的な正規表現の構文は一通り利用できます。代表的な構文を下記に示します。
文字 | |
記号 | 意味 |
. (ピリオド1つ) | 任意の一文字 |
[xyz] | x,y,zのいずれか一文字 |
[^xyz] | x,y,z以外の一文字 |
[a-z] | aからzの範囲のいずれか一文字 |
[^a-z] | aからzの範囲以外の一文字 |
\w | 単語構成文字 |
\s | スペース |
\d | 数字 |
\l | 英小文字 |
\u | 英大文字 |
繰り返し | |
記号 | 意味 |
x* | xの0個以上の繰り返し |
x+ | xの1個以上の繰り返し |
x? | xの0個または1個の出現 |
x{M,N} | xのM個以上N個以下の繰り返し |
x{M,} | xのM個以上の繰り返し |
x{M} | xがM個 |
x|y | xまたはy |
※繰り返しは、通常は最も長いマッチが選択されますが、繰り返し記号の後ろに ? を付けると、最も短いマッチが選択されます。(例: x*?) | |
部分式 | |
記号 | 意味 |
(xyz) | 部分式のグループ化 |
(?:xyz) | 後方参照等が可能でないグループ化 |
\1〜\9 | 後方参照 |
位置指定 | |
記号 | 意味 |
^ | 行頭 |
$ | 行末 |
\< | 単語頭 |
\> | 単語末 |
\b | 単語頭または単語末 |
\B | 単語中 |
\A | バッファ頭 |
\z | バッファ末 |
\Z | バッファ末またはバッファ末の改行 |
エスケープシーケンス | |
記号 | 意味 |
\| \* \? \+ \( \) \{ \} \[ \] \^ \$ \\ \- | \の後ろの文字の特殊な意味を無視し、通常文字として扱う |
\a | ベル |
\f | フォームフィード |
\r | 復帰 |
\n | 改行 |
\t | タブ文字 |
\v | 垂直タブ文字 |
\x | 16進表記(例:\x0D) |
\ | 8進表記(例:\10) |
\x{...} | Unicodeの16進表記(例:\x{1A0}) |
\e | ASCIIのエスケープ文字 |
置換書式文字列 | |
記号 | 意味 |
$0 | マッチした部分全体 |
$1〜$9 | 1〜9番目にマッチした部分 |
※正規表現リファレンスの作成にあたり、稲葉一浩氏の Boost C++ Libraries プログラミングを参考にさせていただいています。 ありがとうございます。なお、途中いくつか省略している構文もありますので、完全な構文をお知りになりたい場合は、Boostの解説書等をお読みになるか、Boost C++ Libraries プログラミングを参考にしてください。 |
文字列操作用関数へ
関数書式の見方
※このページは、ソフトウェアに付属のヘルプファイルをWeb用に再構築したものです。大部分に自動変換を施しているため、一部は正しく変換しきれずに表示の乱れている箇所があるかもしれませんが、ご容赦下さい。また、本ドキュメントはアーカイブドキュメントであり、内容は「いじくるつくーる」最終公開時点、あるいは、それより古い時点のものとなっております。一部、内容が古くなっている箇所があるかと思いますが、あらかじめご了承下さい。
※このページへは、自由にリンクしていただいてかまいません。
このページに関するご意見の受け付けは終了しています。