正则表达式 n 字符到 n 字符

Regex n character to n character

7/25/2015 5:45:40 AM ...我正在尝试 return“5:45:40 AM" 这个字符串使用正则表达式的时间,我15分钟前才知道这个抽象语言。我真的很难过。我知道如何到达第一个到第 n 个字符和最后一个第 n 个字符的开头,但不是 n 到 n 个字符。这可能吗?您会认为它类似于 .({11}, .{20}$) 谢谢。

您不能使用字符数,因为它可能会改变(例如,12/25/2015 有 1 个额外的字符)。您可以将此模式与捕获组一起使用:

\d+\/\d+\/\d+\s(\d+:\d+:\d+\s(AM|PM))

第一次捕获将匹配您需要的子字符串 (5:45:40 AM)

看看这个example

在这种情况下按字符计数是不正确的,因为日期部分的长度是可变的:8/1/2015 只有 8 个字符长,而 12/12/2015 是十个字符长。

您最好匹配 \d{1,2}:\d{2}:\d{2} (AM|PM) 以捕获字符串的时间部分。

Demo.