strmatch

正規表現によるパターンマッチングを行う。(バージョン4.59以降)

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

参照