# Deletion of list elements containing a string character

I have a list:

lis = {"ab","a-1","1-20"}


from which I need to delete elements of lis that has (only) digits on both sides of the hyphen, in each element that contains a hyphen:

res = {"ab","a-1"}


You can use DeleteCases, Cases, Select, etc. Here a couple of examples:
DeleteCases[lis, s_?StringQ /; StringMatchQ[s, DigitCharacter..~~"-"~~DigitCharacter..]]