在用户输入字符串时匹配字符串的好习惯是什么?
我想把这个正则表达式作为一个例子来匹配时间:
/(\d\d?)(:\d\d?)?\s?(am|pm)?/
匹配12:30 am
,9 pm
,23:00
完全正常。
当您想要在用户输入该字符串时提供反馈时,它变得棘手。
12:
不匹配,12:30 p
也不匹配。
我的解决方案是使用第二个独立的正则表达式来匹配包含所有输入可能性的不完整字符串:
/(\d\d?)(:\d\d?|:)?\s?(|a|p|am|pm)?/
会匹配12:
和12:30 p
就好了。
这样做有更好,更优雅的方法吗?