Композитный Regexp в Python
Часто я хотел бы создавать сложные регулярные выражения из более простых. Единственный способ, которым я сейчас это знаю, – выполнить строковые операции, например:
Year = r'[12]\d{3}' Month = r'Jan|Feb|Mar' Day = r'\d{2}' HourMins = r'\d{2}:\d{2}' Date = r'%s %s, %s, %s' % (Month, Day, Year, HourMins) DateR = re.compile(Date)
Кто-нибудь знает о другом методе или более систематическом подходе (возможно, модуле) в Python, чтобы иметь составные регулярные выражения? Я предпочел бы скомпилировать каждое регулярное выражение отдельно (например, для использования отдельных параметров компиляции), но тогда, похоже, не существует способа их компоновки !?
- Как я могу извлечь информацию, которую я хочу, используя этот RegEx или лучше?
- Многострочное сопоставление в Python
- Python: используйте регулярное выражение для удаления пробела со всех строк
- регулярное выражение python
- Python: строка, которая не начинается с #
Вы можете использовать rxb Ping:
year = member("1", "2") + digit*3 month = either("Jan", "Feb", "Mar") day = digit*2 hour_mins = digit*2 + ":" + digit*2 date = month + " " + day + ", " + year + ", " + hour_mins
Затем вы можете напрямую сопоставлять полученную дату или использовать
DateR = date.compile()
Для этого можно использовать синтаксис форматирования Python:
types = { "year": r'[12]\d{3}', "month": r'(Jan|Feb|Mar)', "day": r'\d{2}', "hourmins": r'\d{2}:\d{2}', } import re Date = r'%(month)s %(day)s, %(year)s, %(hourmins)s' % types DateR = re.compile(Date)
(Обратите внимание на добавленную группировку вокруг Jan | Feb | Mar.)
- Как мне разработать и создать автономный пакет приложений PyGTK для MacOS с видными виджетами?
- Python virtualenv pip install MySQL-Python вызывает «RuntimeError: максимальная глубина рекурсии»
- Регулярное выражение для финансовых номеров
- Действительное имя домена regex
- Регулярное совпадение Just Once (без повторения)
- Регулярное выражение python не подходит, если инструменты regex указывают, что это должно
- Python: поиск regex для подкатегорий?
- Regex / Python – почему не захватывает группу, захваченную в этом случае?
- Python re.findall с groupdicts
- Заменяйте скобки вокруг слов чем-то другим, используя регулярное выражение в Python
- извлечение числа после определенных слов в текстовом файле