program RegexStringValidation;
uses
RegExpr;
function IsValidString(s: string): Boolean;
var
Regex: TRegExpr;
begin
Regex := TRegExpr.Create;
Regex.Expression := '^[A-Za-z0-9_-]*$';
IsValidString := Regex.Exec(s);
Regex.Free;
end;
begin
if IsValidString('-abc_123-') then
Writeln('yes')
else
Writeln('no');
if IsValidString('-abc_123-(!)') then
Writeln('yes')
else
Writeln('no');
end.
(*
run:
yes
no
*)