正規表現によるパターンマッチングを行う。
strmatch <target string> <string with regular expression>
Oniguruma の正規表現 が使用できる。
<target string>引数に指定された文字列を、正規表現 <string with regular expression> によるパターンに合致するかどうかを調べる。
このコマンドの実行結果はシステム変数 result , matchstr , groupmatchstr に格納される。変数 result の値の意味は以下のとおり。
値 | 意味 |
---|---|
0 | マッチしなかった |
1 | マッチした位置(1オリジン) |
変数 matchstr には最初にマッチしたパターンが格納される。
変数 groupmatchstr1〜groupmatchstr9 にはグループマッチしたパターンが格納される。
なお、マッチしなかった場合には、これらの変数は strmatch 実行前の内容が保持される。
日本語等のマルチバイト文字列を検索する場合、事前にregexoptionで適切なエンコーディングを設定しておく必要がある。
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