2015-07-13 2 views
1

У меня возникли проблемы с выражением оператора regex, чтобы ссылаться на это: 10/03/2006 09:38:37 в начале каждой строки. Я пробовал пару часов. Мне плохо с регулярным выражением. Понял, что я попрошу о помощи здесь. Ниже то, что я придумал до сих пор:REGEX в Python: ссылаясь на символы в начале текста

searchObj_Archive_date = re.search(r'^\d{2}.?d{2}.?d{4}s?d{2}\.?\d{2}\.?\d{2}', line, re.M|re.I)' 
+0

Опубликовать все допустимые форматы. –

ответ

2

Это регулярное выражение ^\d{2}\/\d{2}\/\d{4}\s+\d{2}:\d{2}:\d{2} соответствует вашей строки, но вам, возможно, потребуется предоставить дополнительные форматы (например, я заметил, что в вашем образце регулярного выражения вы не требующие слэша между числа в вашей дате или двоеточия между элементами того времени - это было намеренно?).

+0

Это работает! он работает в моем скрипте – pHorseSpec

+0

Хорошая сделка. Позвольте мне знать, если вам нужно что-нибудь еще. – gymbrall

+1

@pHorseSpec Если вам нужно сделать больше регулярных выражений, этот сайт будет вашим другом: https://regex101.com/#python – gymbrall

1

Вы не избежать некоторых из десятичной (\d) и пробельных (\s) спецификаторов и вы являются спасаясь от fullstop который дает буквальный fullstop вместо матча всех символов. В любом случае я бы предложил использовать фактические символы для разделителей, а не общие соответствия:

r'^\d{2}/\d{2}/\d{4}\s?\d{2}:\d{2}:\d{2}' 
Смежные вопросы