regexoption

【Tera Term マクロ言語】コマンドリファレンス

regexoption 機能

[文字列操作コマンド]

正規表現の文法、文字エンコーディング、オプションを設定します。

コマンドライン

regexoption <option1> [<option2> ...]

機能説明

strmatch, strreplace, waitregex で使用する正規表現の文法、文字エンコーディング、オプションを設定します。

オプション option1 [option2 ...] には、以下の中から文法を1つ、エンコーディングを1つ、オプションを複数指定できます。
各設定のデフォルト値は、文法: SYNTAX_RUBY, エンコーディング: ENCODING_ASCII, オプション: OPTION_NONE となります。
種別<option><option>(省略形)意味
文法SYNTAX_DEFAULT-デフォルト(Ruby形式)
SYNTAX_ASISASIS固定文字列検索
SYNTAX_POSIX_BASICPOSIX_BASICPOSIX基本正規表現
SYNTAX_POSIX_EXTENDEDPOSIX_EXTENDEDPOSIX拡張正規表現
SYNTAX_EMACSEMACSEmacs形式正規表現
SYNTAX_GREPGREPgrep形式正規表現
SYNTAX_GNU_REGEXGNU_REGEXGNU Regex形式正規表現
SYNTAX_JAVAJAVAJava形式正規表現
SYNTAX_PERLPERLPerl形式
SYNTAX_PERL_NGPERL_NGPerl形式正規表現 + 名前付き捕獲式集合
SYNTAX_RUBYRUBYRuby形式正規表現
エンコーディングENCODING_ASCIIASCIIエンコーディング設定を ASCII にする。
ENCODING_ISO_8859_1ISO_8859_1エンコーディング設定を ISO 8859-1 にする。
ENCODING_ISO_8859_2ISO_8859_2エンコーディング設定を ISO 8859-2 にする。
ENCODING_ISO_8859_3ISO_8859_3エンコーディング設定を ISO 8859-3 にする。
ENCODING_ISO_8859_4ISO_8859_4エンコーディング設定を ISO 8859-4 にする。
ENCODING_ISO_8859_5ISO_8859_5エンコーディング設定を ISO 8859-5 にする。
ENCODING_ISO_8859_6ISO_8859_6エンコーディング設定を ISO 8859-6 にする。
ENCODING_ISO_8859_7ISO_8859_7エンコーディング設定を ISO 8859-7 にする。
ENCODING_ISO_8859_8ISO_8859_8エンコーディング設定を ISO 8859-8 にする。
ENCODING_ISO_8859_9ISO_8859_9エンコーディング設定を ISO 8859-9 にする。
ENCODING_ISO_8859_10ISO_8859_10エンコーディング設定を ISO 8859-10 にする。
ENCODING_ISO_8859_11ISO_8859_11エンコーディング設定を ISO 8859-11 にする。
ENCODING_ISO_8859_13ISO_8859_13エンコーディング設定を ISO 8859-13 にする。
ENCODING_ISO_8859_14ISO_8859_14エンコーディング設定を ISO 8859-14 にする。
ENCODING_ISO_8859_15ISO_8859_15エンコーディング設定を ISO 8859-15 にする。
ENCODING_ISO_8859_16ISO_8859_16エンコーディング設定を ISO 8859-16 にする。
ENCODING_UTF8UTF8エンコーディング設定を UTF-8 にする。
ENCODING_UTF16_BEUTF16_BEエンコーディング設定を UTF-16 (Big Endian) にする。
ENCODING_UTF16_LEUTF16_LEエンコーディング設定を UTF-16 (Little Endian) にする。
ENCODING_UTF32_BEUTF32_BEエンコーディング設定を UTF-32 (Big Endian) にする。
ENCODING_UTF32_LEUTF32_LEエンコーディング設定を UTF-32 (Little Endian) にする。
ENCODING_EUC_JPEUC_JPエンコーディング設定を EUC-JP にする。
ENCODING_EUC_TWEUC_TWエンコーディング設定を EUC-TW にする。
ENCODING_EUC_KREUC_KRエンコーディング設定を EUC-KR にする。
ENCODING_EUC_CNEUC_CNエンコーディング設定を EUC-CN にする。
ENCODING_SJISSJISエンコーディング設定を Shift_JIS にする。
ENCODING_KOI8_RKOI8_Rエンコーディング設定を KOI8-R にする。
ENCODING_CP1251CP1251エンコーディング設定を CP1251 にする。
ENCODING_BIG5BIG5エンコーディング設定を Big5 にする。
ENCODING_GB18030GB18030エンコーディング設定を GB18030 にする。
オプションOPTION_NONE-正規表現オプションが指定されていない状態にする。
OPTION_SINGLELINESINGLELINE'^' → '\A', '$' → '\Z'
OPTION_MULTILINEMULTILINE'.'が改行にマッチする
OPTION_IGNORECASEIGNORECASE大文字/小文字同一視
OPTION_EXTENDEXTENDパターン拡張形式
OPTION_FIND_LONGESTFIND_LONGEST最長一致
OPTION_FIND_NOT_EMPTYFIND_NOT_EMPTY空文字列にマッチしない
OPTION_NEGATE_SINGLELINENEGATE_SINGLELINEOPTION_SINGLELINEを無効にする
OPTION_DONT_CAPTURE_GROUPDONT_CAPTURE_GROUP名前付き捕獲式集合のみ捕獲
OPTION_CAPTURE_GROUPCAPTURE_GROUP名前無し捕獲式集合も捕獲

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<option>文字列使用したい正規表現の文法、文字エンコーディング、オプションを指定します。

対象バージョン

バージョン 4.78 以降で利用可能です。

戻り値

戻り値はありません。

関連コマンド

種別:通信Ver機能の簡易説明
01044.21以降正規表現文字列を含む行を待つ。
種別:文字列操作Ver機能の簡易説明
01424.59以降正規表現によるパターンマッチングを行う。
01444.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)"

サンプル

サンプルマクロはありません。

備考

特にありません。