我有这个正则表达式,它适用于我想要它做的事情。
([01]?[0-9]+:?[0-9]*(?:[AP]M)?)-?([01]?[0-9]+:?[0-9]*(?:[AP]M)?)
它捕捉得非常好。
NO PARKING (SANITATION BROOM SYMBOL) 7AM-7:30AM EXCEPT SUNDAY
但后来我在我的数据中发现了另一个案例
NO PARKING (SANITATION BROOM SYMBOL) 11:30AM TO 1PM THURS
使用TO
分隔from_time和to_time。如何扩展该正则表达式以接受此案例?我试过了
([01]?[0-9]+:?[0-9]*(?:[AP]M)?)\s?-|TO\s??([01]?[0-9]+:?[0-9]*(?:[AP]M)?)
没有运气。
答案 0 :(得分:3)
在你的表达中,两个选择是:
([01]?[0-9]+:?[0-9]*(?:[AP]M)?)\s?-
TO\s??([01]?[0-9]+:?[0-9]*(?:[AP]M)?)
要将其设为-
和TO
,请将它们放入非捕获组:
([01]?[0-9]+:?[0-9]*(?:[AP]M)?)\s?(?:-|TO)\s?([01]?[0-9]+:?[0-9]*(?:[AP]M)?)