MyChat Scripts: RegExpIsMatch, соответствие строки регулярному выражению
Проверка, соответствует ли заданная строка регулярному выражению (regular expression).
Синтаксис
function RegExpIsMatch(sInpString, sRegExp: string): boolean;
Параметры и возвращаемые значения
Параметр |
Тип |
Значение |
sInpString |
string |
строка, которую необходимо проверить на соответствие; |
sRegExp |
string |
текст регулярного выражения. |
Результат функции
True, если строка соответствует заданному регулярному выражению, false — если нет.
Пример
procedure Check(const sInput: string);
var
bFlag: boolean;
s: string;
begin
bFlag := RegExpIsMatch(sInput, '^\s*[-+]?[0-9]*\.?[0-9]+\s*$');
if bFlag then s := 'TRUE'
else s := 'FALSE';
mLogScript(sInput, s);
end;
begin
mLogScript('Regular expression for value of string validation', '');
Check('2.334');
Check('150.2');
Check('0.23');
Check('3');
Check('3..42');
Check('4-2.3');
Check('e5.64');
Check('3 145');
end.
Результат работы скрипта
[10:55:00] (Log "RegExpIsMatch"): Regular expression for value of string validation
[10:55:00] (Log "RegExpIsMatch"): [TRUE] 2.334
[10:55:00] (Log "RegExpIsMatch"): [TRUE] 150.2
[10:55:00] (Log "RegExpIsMatch"): [TRUE] 0.23
[10:55:00] (Log "RegExpIsMatch"): [TRUE] 3
[10:55:00] (Log "RegExpIsMatch"): [FALSE] 3..42
[10:55:00] (Log "RegExpIsMatch"): [FALSE] 4-2.3
[10:55:00] (Log "RegExpIsMatch"): [FALSE] e5.64
[10:55:00] (Log "RegExpIsMatch"): [FALSE] 3 145
[10:55:00] (Run "RegExpIsMatch"): Время выполнения скрипта: 13 мс
[10:55:00] (Run "RegExpIsMatch"): Скрипт выполнен успешно.