reTest関数

本ページには広告が含まれています。

正規表現と指定された文字列のマッチングを行いマッチした場合はTrue、マッチしなかった場合はFalseを返します。

構文
  1. Boolean = reTest( str, Pattern, IgnoreCase, Global )
引数
str (String)必須
正規表現による検索の対象となる文字列
Pattern (String)必須
正規表現で使用するパターンを設定
IgnoreCase (Boolean = True)省略可
大文字・小文字を区別しない場合はTrue、区別する場合はFalse
Global (Boolean = True)省略可
文字列全体を検索する場合はTrue、しない場合はFalse
戻り値
正規表現にマッチするかどうかを示すブール値

プログラム

UWSC
//////////////////////////////////////////////////
// 【引数】
//   str : 正規表現による検索の対象となる文字列 
//   Pattern : 正規表現で使用するパターンを設定 
//   IgnoreCase : 大文字・小文字を区別しない場合はTrue、区別する場合はFalse 
//   Global : 文字列全体を検索する場合はTrue、しない場合はFalse 
// 【戻り値】
//   正規表現にマッチするかどうかを示すブール値 
//////////////////////////////////////////////////
FUNCTION reTest(str, Pattern, IgnoreCase = TRUE, Global = TRUE)
	DIM re = CREATEOLEOBJ("VBScript.RegExp")
	re.Pattern = Pattern
	re.IgnoreCase = IgnoreCase
	re.Global = Global
	RESULT = re.Test(str)
FEND

入力値のチェック

reTest関数は、INPUT関数で入力された値のチェックに使うことができます。

正規表現にマッチするかしないかで処理を分けることができます。

UWSC
IFB reTest(INPUT("数値を入力"), "\d+") THEN
	PRINT "数値です。"
ELSE
	PRINT "数値ではありません。"
ENDIF

数値が入力されるまでインプットボックスを繰り返し表示します。正規表現にマッチする文字列を入力しない限り次の処理に進まないので注意。

UWSC
REPEAT
	SLEEP(0.100)
UNTIL reTest(INPUT("数値を入力"), "\d+")

プログラム実行例

数値から月の異名を求める

UWSC
DIM month[12] = "睦月", "如月", "弥生",  "卯月",  "皐月", "水無月", "文月",  "葉月",  "長月",  "神無月", "霜月", "師走"

DIM str = INPUT("1〜12の数値を入力してください。")

IFB reTest(str, "[1-9]|1[0-2]") THEN
	PRINT month[str- 1]
ELSE
	PRINT "1〜12の数値を入力してください。"
ENDIF

//////////////////////////////////////////////////
// 【引数】
//   str : 正規表現による検索の対象となる文字列 
//   Pattern : 正規表現で使用するパターンを設定 
//   IgnoreCase : 大文字・小文字を区別しない場合はTrue、区別する場合はFalse 
//   Global : 文字列全体を検索する場合はTrue、しない場合はFalse 
// 【戻り値】
//   正規表現にマッチするかどうかを示すブール値 
//////////////////////////////////////////////////
FUNCTION reTest(str, Pattern, IgnoreCase = TRUE, Global = TRUE)
	DIM re = CREATEOLEOBJ("VBScript.RegExp")
	re.Pattern = Pattern
	re.IgnoreCase = IgnoreCase
	re.Global = Global
	RESULT = re.Test(str)
FEND
結果
プレーンテキスト
INPUT:3>7
文月
使用関数
解説

関連記事

isDate関数 (自作関数)
引数に指定した値が日付として認識できる場合はTrueを返します。認識できない場合はFalseを返します。
reExecute関数 (自作関数)
正規表現 検索を行います。
reReplace関数 (自作関数)
正規表現置換を行います。
RegExp オブジェクト