Форум сайта python.su
0
Подскажите пожалуйста, как для re.compile() написать регулярное выражение, которое будет брать первое слово в строке, если первые 4 символа - буквы, где слова разделены табами, а в самом слове могут содержаться буквы, цифры, точки/запятые?
Заранее спасибо.
Офлайн
33
r'([a-zA-Z]{4}[a-zA-Z0-9.,]*)\t'
Отредактировано Budulianin (Дек. 8, 2013 15:33:52)
Офлайн
857
Budulianin, это не совсем первое слово
нужно рассмотреть табы в начале строки и только после них искать подходящее слово
причём учесть, что у полученного шаблона может быть вызван любой метод, а в него переданы любые флаги
Офлайн
33
py.user.next
Budulianin, это не совсем первое слово
нужно рассмотреть табы в начале строки и только после них искать подходящее слово
причём учесть, что у полученного шаблона может быть вызван любой метод, а в него переданы любые флаги
Офлайн
857
Budulianinто, что ты писал это для match(), на шаблоне не написано
Ну вообще, я это для match написал
Budulianinтабы - это разделитель слов, про его нахождение или отсутствие где-либо тоже ничего не написано
а про то что строка может с табов начинаться,
по-моему ничего не написано.
Отредактировано py.user.next (Дек. 9, 2013 01:17:08)
Офлайн
33
py.user.next
то, что ты писал это для match(), на шаблоне не написано
когда то же самое понадобится для findall(), ты будешь новый шаблон писать
Офлайн
857
Budulianinв задании ясно говорится про re.compile(), а что возвращает re.compile() ? правильно, regex-объект с методами
Не написано, просили просто шаблон написать.
А что, надо всегда писать такие выражения, чтобы во всех функциях работали ? :)
Отредактировано py.user.next (Дек. 9, 2013 01:27:58)
Офлайн