正则表达式匹配格式为 9.30am-8.45pm 的时间
Regex to Match hours in the format 9.30am-8.45pm
我有这个正则表达式"(\d{1,2}[aM|Am|am|pm|Pm|pM]{2}-\d{1,2}[aM|Am|am|pm|Pm|pM]{2})"
匹配如下字符串:9am-8pm
但我希望能够将这些字符串与另一个正则表达式匹配:9.30am-8.30pm
我有以下正则表达式,但它不匹配任何内容:
(\d{1,2}.\d{1,2}[am|AM|aM|Am][pm|PM|Pm|pM]-\d{1,2}.\d{1,2}[am|AM|aM|Am][pm|PM|Pm|pM])
因为'.'
是一个特殊字符,你必须将它转义为\.
(\d{1,2}\.\d{1,2}[am|AM|aM|Am][pm|PM|Pm|pM]-\d{1,2}\.\d{1,2}[am|AM|aM|Am][pm|PM|Pm|pM])
转义 .
否则它将匹配任何字符(换行符除外)。
使 am
和 pm
不区分大小写。
你最好像这样使用它:
/^\d{1,2}\.\d{1,2}(am|pm)-\d{1,2}\.\d{1,2}(am|pm)$/i
几个问题:
.
将匹配任何字符。您应该将其转义为 \.
- 您更改了 am/pm 构造,因此它不再以相同的方式匹配
以下符合您的需求吗?
(\d{1,2}\.\d{1,2}[aApP]{1}[mM]{1}-\d{1,2}\.\d{1,2}[aApP]{1}[mM]{1})
我有这个正则表达式"(\d{1,2}[aM|Am|am|pm|Pm|pM]{2}-\d{1,2}[aM|Am|am|pm|Pm|pM]{2})"
匹配如下字符串:9am-8pm
但我希望能够将这些字符串与另一个正则表达式匹配:9.30am-8.30pm
我有以下正则表达式,但它不匹配任何内容:
(\d{1,2}.\d{1,2}[am|AM|aM|Am][pm|PM|Pm|pM]-\d{1,2}.\d{1,2}[am|AM|aM|Am][pm|PM|Pm|pM])
因为'.'
是一个特殊字符,你必须将它转义为\.
(\d{1,2}\.\d{1,2}[am|AM|aM|Am][pm|PM|Pm|pM]-\d{1,2}\.\d{1,2}[am|AM|aM|Am][pm|PM|Pm|pM])
转义 .
否则它将匹配任何字符(换行符除外)。
使 am
和 pm
不区分大小写。
你最好像这样使用它:
/^\d{1,2}\.\d{1,2}(am|pm)-\d{1,2}\.\d{1,2}(am|pm)$/i
几个问题:
.
将匹配任何字符。您应该将其转义为\.
- 您更改了 am/pm 构造,因此它不再以相同的方式匹配
以下符合您的需求吗?
(\d{1,2}\.\d{1,2}[aApP]{1}[mM]{1}-\d{1,2}\.\d{1,2}[aApP]{1}[mM]{1})