regexoption
2021/05/15 20:04
regexoption 機能
[文字列操作コマンド]正規表現の文法、文字エンコーディング、オプションを設定します。
コマンドライン
regexoption <option1> [<option2> ...]
機能説明
strmatch, strreplace, waitregex で使用する正規表現の文法、文字エンコーディング、オプションを設定します。オプション option1 [option2 ...] には、以下の中から文法を1つ、エンコーディングを1つ、オプションを複数指定できます。
各設定のデフォルト値は、文法: SYNTAX_RUBY, エンコーディング: ENCODING_ASCII, オプション: OPTION_NONE となります。
種別 | <option> | <option>(省略形) | 意味 |
---|---|---|---|
文法 | SYNTAX_DEFAULT | - | デフォルト(Ruby形式) |
SYNTAX_ASIS | ASIS | 固定文字列検索 | |
SYNTAX_POSIX_BASIC | POSIX_BASIC | POSIX基本正規表現 | |
SYNTAX_POSIX_EXTENDED | POSIX_EXTENDED | POSIX拡張正規表現 | |
SYNTAX_EMACS | EMACS | Emacs形式正規表現 | |
SYNTAX_GREP | GREP | grep形式正規表現 | |
SYNTAX_GNU_REGEX | GNU_REGEX | GNU Regex形式正規表現 | |
SYNTAX_JAVA | JAVA | Java形式正規表現 | |
SYNTAX_PERL | PERL | Perl形式 | |
SYNTAX_PERL_NG | PERL_NG | Perl形式正規表現 + 名前付き捕獲式集合 | |
SYNTAX_RUBY | RUBY | Ruby形式正規表現 | |
エンコーディング | ENCODING_ASCII | ASCII | エンコーディング設定を ASCII にする。 |
ENCODING_ISO_8859_1 | ISO_8859_1 | エンコーディング設定を ISO 8859-1 にする。 | |
ENCODING_ISO_8859_2 | ISO_8859_2 | エンコーディング設定を ISO 8859-2 にする。 | |
ENCODING_ISO_8859_3 | ISO_8859_3 | エンコーディング設定を ISO 8859-3 にする。 | |
ENCODING_ISO_8859_4 | ISO_8859_4 | エンコーディング設定を ISO 8859-4 にする。 | |
ENCODING_ISO_8859_5 | ISO_8859_5 | エンコーディング設定を ISO 8859-5 にする。 | |
ENCODING_ISO_8859_6 | ISO_8859_6 | エンコーディング設定を ISO 8859-6 にする。 | |
ENCODING_ISO_8859_7 | ISO_8859_7 | エンコーディング設定を ISO 8859-7 にする。 | |
ENCODING_ISO_8859_8 | ISO_8859_8 | エンコーディング設定を ISO 8859-8 にする。 | |
ENCODING_ISO_8859_9 | ISO_8859_9 | エンコーディング設定を ISO 8859-9 にする。 | |
ENCODING_ISO_8859_10 | ISO_8859_10 | エンコーディング設定を ISO 8859-10 にする。 | |
ENCODING_ISO_8859_11 | ISO_8859_11 | エンコーディング設定を ISO 8859-11 にする。 | |
ENCODING_ISO_8859_13 | ISO_8859_13 | エンコーディング設定を ISO 8859-13 にする。 | |
ENCODING_ISO_8859_14 | ISO_8859_14 | エンコーディング設定を ISO 8859-14 にする。 | |
ENCODING_ISO_8859_15 | ISO_8859_15 | エンコーディング設定を ISO 8859-15 にする。 | |
ENCODING_ISO_8859_16 | ISO_8859_16 | エンコーディング設定を ISO 8859-16 にする。 | |
ENCODING_UTF8 | UTF8 | エンコーディング設定を UTF-8 にする。 | |
ENCODING_UTF16_BE | UTF16_BE | エンコーディング設定を UTF-16 (Big Endian) にする。 | |
ENCODING_UTF16_LE | UTF16_LE | エンコーディング設定を UTF-16 (Little Endian) にする。 | |
ENCODING_UTF32_BE | UTF32_BE | エンコーディング設定を UTF-32 (Big Endian) にする。 | |
ENCODING_UTF32_LE | UTF32_LE | エンコーディング設定を UTF-32 (Little Endian) にする。 | |
ENCODING_EUC_JP | EUC_JP | エンコーディング設定を EUC-JP にする。 | |
ENCODING_EUC_TW | EUC_TW | エンコーディング設定を EUC-TW にする。 | |
ENCODING_EUC_KR | EUC_KR | エンコーディング設定を EUC-KR にする。 | |
ENCODING_EUC_CN | EUC_CN | エンコーディング設定を EUC-CN にする。 | |
ENCODING_SJIS | SJIS | エンコーディング設定を Shift_JIS にする。 | |
ENCODING_KOI8_R | KOI8_R | エンコーディング設定を KOI8-R にする。 | |
ENCODING_CP1251 | CP1251 | エンコーディング設定を CP1251 にする。 | |
ENCODING_BIG5 | BIG5 | エンコーディング設定を Big5 にする。 | |
ENCODING_GB18030 | GB18030 | エンコーディング設定を GB18030 にする。 | |
オプション | OPTION_NONE | - | 正規表現オプションが指定されていない状態にする。 |
OPTION_SINGLELINE | SINGLELINE | '^' → '\A', '$' → '\Z' | |
OPTION_MULTILINE | MULTILINE | '.'が改行にマッチする | |
OPTION_IGNORECASE | IGNORECASE | 大文字/小文字同一視 | |
OPTION_EXTEND | EXTEND | パターン拡張形式 | |
OPTION_FIND_LONGEST | FIND_LONGEST | 最長一致 | |
OPTION_FIND_NOT_EMPTY | FIND_NOT_EMPTY | 空文字列にマッチしない | |
OPTION_NEGATE_SINGLELINE | NEGATE_SINGLELINE | OPTION_SINGLELINEを無効にする | |
OPTION_DONT_CAPTURE_GROUP | DONT_CAPTURE_GROUP | 名前付き捕獲式集合のみ捕獲 | |
OPTION_CAPTURE_GROUP | CAPTURE_GROUP | 名前無し捕獲式集合も捕獲 |
パラメータの説明
指定するパラメータは以下の通りです。パラメータ | 型 | パラメータ説明 |
---|---|---|
<option> | 文字列 | 使用したい正規表現の文法、文字エンコーディング、オプションを指定します。 |
対象バージョン
バージョン 4.78 以降で利用可能です。戻り値
戻り値はありません。関連コマンド
種別:通信 | Ver | 機能の簡易説明 |
---|---|---|
0104 | 4.21以降 | 正規表現文字列を含む行を待つ。 |
種別:文字列操作 | Ver | 機能の簡易説明 |
0142 | 4.59以降 | 正規表現によるパターンマッチングを行う。 |
0144 | 4.67以降 | 文字列を置換する。 |
使用方法
使用例
・文字データの文字コードを判定する場合string="文字データ" pattern="データ" strmatch string pattern messagebox result "デフォルト" ; result -> 0 (Not Match) regexoption "SJIS" strmatch string pattern messagebox result "SJIS" ; result -> 5 (Match)・IGNORECASE (大文字/小文字を同一視したパターンマッチ) を行う場合
string="Test (PaTTerN) String" pattern="(pattern)" regexoption "IGNORECASE" strmatch string pattern sprintf2 msg 'result=%d, matchstr="%s"' result matchstr messagebox msg "IGNORECASE" ; result=7, matchstr="PaTTerN"・ASIS (固定文字列検索) と IGNORECASE を条件にパターンマッチ行う場合
string="Test (PaTTerN) String" pattern="(pattern)" regexoption "ASIS" "IGNORECASE" strmatch string pattern sprintf2 msg 'result=%d, matchstr="%s"' result matchstr messagebox msg "IGNORECASE + ASIS" ; result=6, matchstr="(PaTTerN)"