strmatch

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

strmatch 機能

[文字列操作コマンド]

正規表現によるパターンマッチングを行います。

コマンドライン

strmatch <target string> <string with regular expression>

機能説明

Oniguruma の正規表現 が使用できます。
<target string> 引数に指定された文字列を、正規表現 <string with regular expression> によるパターンに合致するかどうかを調べ、実行結果をシステム変数 result , matchstr , groupmatchstr に格納します。

変数 matchstr には最初にマッチしたパターンが格納されます。
変数 groupmatchstr1~groupmatchstr9 にはグループマッチしたパターンが格納されます。
なお、マッチしなかった場合には、これらの変数は strmatch 実行前の内容が保持されます。

日本語等のマルチバイト文字列を検索する場合、事前に regexoption で適切なエンコーディングを設定しておく必要があります。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<target string>文字列文字列を指定します。
<string with regular expression>文字列<target string> の中にマッチするかどうか確認したいパターンを指定します。

対象バージョン

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

戻り値

戻り値として以下の変数が定義されます。
変数名意味
result0マッチしなかった
1以上マッチした位置(1オリジン)
matchstr文字列最初にマッチしたパターン
groupmatchstr1文字列1つ目にグループマッチしたパターン
groupmatchstr2文字列2つ目にグループマッチしたパターン
groupmatchstr3文字列3つ目にグループマッチしたパターン
groupmatchstr4文字列4つ目にグループマッチしたパターン
groupmatchstr5文字列5つ目にグループマッチしたパターン
groupmatchstr6文字列6つ目にグループマッチしたパターン
groupmatchstr7文字列7つ目にグループマッチしたパターン
groupmatchstr8文字列8つ目にグループマッチしたパターン
groupmatchstr9文字列9つ目にグループマッチしたパターン

関連コマンド

関連コマンドはありません。

使用方法

使用例

・パターンマッチの使用例
strmatch 'Microsoft Windows XP [Version 5.1.2600]' '\[(Version (\d+).(\d+).(\d+))\]'

int2str s result
messagebox s 'result'                        ; 22
messagebox matchstr 'matchstr'               ; [Version 5.1.2600]
messagebox groupmatchstr1 'groupmatchstr1'   ; Version 5.1.2600
messagebox groupmatchstr2 'groupmatchstr2'   ; 5
messagebox groupmatchstr3 'groupmatchstr3'   ; 1
messagebox groupmatchstr4 'groupmatchstr4'   ; 2600

サンプル

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

備考

特にありません。