当前位置:  开发笔记 > 编程语言 > 正文

我的正则表达式从字符串中提取时间有什么问题?

如何解决《我的正则表达式从字符串中提取时间有什么问题?》经验,为你挑选了2个好方法。

我正在尝试提出一个正则表达式来从字符串中提取时间来构建应用程序.

这是我到目前为止所得到的.不知道我在这里做错了什么.

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时间.



1> vks..:
([01]?[0-9]+:?[0-9]*(?:[AP]M)?)-([01]?[0-9]+:?[0-9]*(?:[AP]M)?)
           ^^               ^^            ^^                 ^^

只需使AM组件可选.参见demo.Also make first part +,否则它将匹配空字符串.

https://regex101.com/r/fC0lI5/2



2> Tyler Sebast..:

任一捕获组中的AM/PM都不是可选的

([01]?[0-9]+:?[0-9]*(?:[AP]M)?)-([01]?[0-9]+:?[0-9]*(?:[AP]M)?)

我认为我的比其他人更有效,因为其他人会允许(他们已经修复了他们的)

8M-9M, which is not valid.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有