У меня есть следующий код:Почему в Python не работает следующее регулярное выражение?
regularexpression = r'([-\w]*\w)? ?: ?([-"\#\w\s_]*\w?);'
outputfr = re.findall(regularexpression, inputdata, re.IGNORECASE)
return data
Он должен поймать слова, дефисы и другие символы, заканчивающиеся на «;». Итак:
(hello-nine: hello, six, seven; hello-five: six eight)
будет выводить как [('привет-девять', 'привет, шесть, семь'), ('привет-пять', 'шесть восемь')
Если final-number: "seventy", "sixty", "fifty", forty
является частью пользователя input (inputdata), regularexpression не улавливает его. Я бы хотел, чтобы он отображался как [('final-number', '"seventy", "sixty", "fifty", "forty")]
Почему это?
Не могли бы вы объяснить, что регулярное выражение должно поймать пожалуйста. И укажите * фактический * пример 'inputdata', то, что вы * ожидаете *, чтобы соответствовать и что вы на самом деле получаете. – Hamish
Я просто добавил дополнительную информацию, извините. – eltb
Ваш шаблон не обрабатывает запятые в вашей строке ввода. – Blckknght