通常,我想从更简单的regexp构建复杂的regexp.我目前意识到这样做的唯一方法是通过字符串操作,例如:
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)
Run Code Online (Sandbox Code Playgroud)
是否有人知道Python中的不同方法或更系统的方法(可能是一个模块)具有可组合的正则表达式?我宁愿单独编译每个正则表达式(例如,使用单独的编译选项),但是似乎没有办法再编写它们了!?
您可以使用 Ping 的rxb:
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
Run Code Online (Sandbox Code Playgroud)
然后您可以直接匹配结果日期,或使用
DateR = date.compile()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1154 次 |
| 最近记录: |