Я хочу выполнить базовую проверку строки в сценарии Inno Setup, чтобы быть относительно уверенным, что строка является адресом электронной почты. Я просто хочу увидеть, что за символом "@" следует "." и что по обе стороны от них есть хотя бы один символ. Что-то похожее на это регулярное выражение:
[^@]+@.+\.[^\.]
Отсутствие регулярных выражений и ограниченные строковые функции, доступные в object pascal, вызывают у меня сожаление. Было бы достаточно просто перевернуть строку, найти первую '.' и '@', а затем сделайте несколько сравнений, но функции обратного (строкового) нет.
Я знаю, что могу вызвать экспортированную функцию из вспомогательной библиотеки DLL, которую я пишу, но я надеялся избежать этого решения.
Есть другие предложения?