我需要正则表达式才能找到特定的模式。
弦乐:在下午3:00至4:20在艾哈迈达巴德会面。
从这个字符串,我只需要下午3:00到4:20。
和表达:
var time_range = message.match**(/(\w+)\s(to)\s(\w+)/gi)**但这种表达方式有一定的局限性。
发布于 2015-02-03 05:55:15
发布于 2015-02-03 06:17:35
\d+(?::\d+)?\s*(?:[ap]m)?\s*to\s*\d+(?::\d+)?\s*(?:[ap]m)?尝试this.See演示。
https://regex101.com/r/vD5iH9/49
var re = /\d+(?::\d+)?\s*(?:[ap]m)?\s*to\s*\d+(?::\d+)?\s*(?:[ap]m)?/gm;
var str = 'In meeting 3:00pm to 4:20 at Ahmedabad.\nIn meeting 3pm to 6pm at Ahmedabad\nIn meeting 3:00pm to 4:20am at Ahmedabad.';
var m;
while ((m = re.exec(str)) != null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
}https://stackoverflow.com/questions/28292214
复制相似问题