我正试图想出一个正则表达式来从字符串中提取时间来构建应用程序。在
以下是我目前所掌握的情况。不知道我做错了什么。在
https://regex101.com/r/fC0lI5/1
我可以得到一些弦,但不是所有不同的变体。在
([01]?[0-9]*:?[0-9]*[AP]M?)-([01]?[0-9]*:?[0-9]*[AP]M?)
8-8:30AM MON TUES THURS FRI
8-10:30AM MON TUES THURS FRI
8:30AM-10:30AM MON TUES THURS FRI
10:30AM-11:30AM MON TUES THURS FRI
10:30AM-11:30AM MON TUES THURS FRI
8AM-8:30AM
10-11PM
我要的是两个被俘的小组。所以我知道第一组是FROM
时间,后一组是TO
时间。在
只需生成
AM
组件可选。请参阅演示。还有使第一部分+
,否则它将匹配空字符串。在https://regex101.com/r/fC0lI5/2
两个捕获组中的AM/PM都不是可选的
我认为我的比其他人更有效,因为其他人会允许(他们已经修正了他们的)
^{pr2}$正如其他答案所指出的,A和p不是可选的。此外,您的正则表达式将匹配其他字符串(如“:A-:A”或“98387899A-A”)。在
这是有效的,而且会比你的更严格:
有关regex语法的完整描述,请参见the Python manual。在
相关问题 更多 >
编程相关推荐