Я хочу использовать регулярное выражение для фильтрации пользовательского ввода на основе набора кортежей. Сообщение об ошибке должно быть возвращено, если пользовательский ввод не найден в set of tuples
и не является an alphanumeric character
. Я не могу получить доступ к кортежам в моем коде regex python. Итак, я прошел через src.items()
, как использовать функцию escape, чтобы получить src.items()
, чтобы внести свои значения, или, возможно, я не должен делать этого таким образом.с использованием python regex на кортежах для фильтрации пользовательских входов
Мой код:
import re
direction = ('north', 'south', 'east', 'west', 'down', 'up', 'left', 'right', 'back')
verb = ('go', 'stop', 'kill', 'eat')
stop = ('the', 'in', 'of', 'from', 'at', 'it')
noun = ('door', 'bear', 'princess', 'cabinet')
src = {'direction': direction,
'verb': verb,
'stop': stop,
'noun': noun
}
# use this to pick out error strings from user input
er = r"*[\W | src.items()]"
ep = re.compile(er, re.IGNORECASE)
Я тестирую полные фразы за раз. –