我正在尝试找出字符串是否为“助记符类型”... 我的助记符类型由字母'a'到'z'和'A'到'Z',数字'0'到'9'以及额外的'_'组成。 我构建了以下代码。如果给定的字符串匹配我的助记符模式,则应该结果为True,否则为False:
TRes := True;
for I := 0 to (AString.Length - 1) do
begin
if not ((('0' <= AString[I]) and (AString[I] <= '9'))
or (('a' <= AString[I]) and (AString[I] <= 'z'))
or (('A' <= AString[I]) and (AString[I] <= 'Z'))
or (AString[I] = '_')) then
TRes := False;
end;
这段代码总是返回False。
CharInSet(C, ['0'..'9', 'a'..'z', 'A'..'Z', '_'])
代替那种混乱的运算符组合。 - TLama