Каждый элемент этого массива данных необработанного разбирается регулярное выражениеRegex/Python - почему группа захвата не захвачена в этом случае?
['\r\n\t\t\t\t\t\t',
'Monday, Tuesday, Wednesday, Thursday, Friday, Saturday:',
' 12:00 pm to 03:30 pm & 07:00 pm to 12:00 am\t\t\t\t\t',
'\r\n\t\t\t\t\t\t',
'Sunday:',
' 12:00 pm to 03:30 pm & 07:00 pm to 12:30 am\t\t\t\t\t']
Это мое регулярное выражение (\\r|\\n|\\t)|(?:\D)(\:)
https://regex101.com/r/fV7wI2/1
Пожалуйста, обратите внимание, что я пытаюсь соответствовать :
после субботы, но не :
in Time for rmats например 12:00
Хотя изображение выше классифицирует захвата/Non группы Захват правильно
на управлении re.sub("(\\r|\\n|\\t)|(?:\D)(\:)",'',"Monday, Tuesday, Wednesday, Thursday, Friday, Saturday:")
возвращается
'Monday, Tuesday, Wednesday, Thursday, Friday, Saturda'
(отсутствует 'у' после субботы)
вместо
'Monday, Tuesday, Wednesday, Thursday, Friday, Saturday'
Почему это так?
Я думаю, вы неправильно поняли термин «не захватывающий». Это просто означает, что он не сделает отдельную захваченную группу для подтекста, сопоставленного с группой, но подтекст по-прежнему будет частью матча. Я обновил свой ответ и уточнил шаблон регулярного выражения. Пожалуйста, проверьте и дайте мне знать, если вам нужно больше разъяснений. Я думаю, [* Lookarounds Stand the Ground *] (http://www.rexegg.com/regex-lookarounds.html#stand_their_ground) является обязательным для вас. –
clear & detail, thanks – wolfgang