Мне нужно знать разницу между строкой, которая может содержать букв и цифр , и строкой, которая может содержать чисел, двоеточий и дефисов .
>>> def checkString(s):
... pattern = r'[-:0-9]'
... if re.search(pattern,s):
... print "Matches pattern."
... else:
... print "Does not match pattern."
# 3 Numbers seperated by colons. 12, 24 and minus 14
>>> s1 = "12:24:-14"
# String containing letters and string containing letters/numbers.
>>> s2 = "hello"
>>> s3 = "hello2"
Когда я запускаю метод checkString
для каждой из вышеуказанных строк:
>>>checkString(s1)
Matches Pattern.
>>>checkString(s2)
Does not match Pattern.
>>>checkString(s3)
Matches Pattern
s3 - единственный, кто не делает то, что я хочу. Я хотел бы иметь возможность создавать регулярные выражения, которые допускают числа, двоеточия и дефисы, но исключают ВСЕ остальное (или только буквы алфавита). Кто-нибудь может указать мне правильное направление?
EDIT:
Поэтому мне нужно регулярное выражение, которое бы приняло:
229 // number
187:657 //two numbers
187:678:-765 // two pos and 1 neg numbers
и отклонение:
Car //characters
Car2 //characters and numbers