标签: regex character regular-language
2015年7月25日上午5:45:40 ...我正在尝试返回&#34; 5:45:40 AM < /强>&#34;从使用正则表达式的字符串开始的时间,我刚刚在15分钟前了解了这种抽象语言。我真的很难过。我知道如何到达第一个到第n个字符的开头和最后的第n个字符,但不是n到n个字符。这甚至可能吗?你会认为它是类似的东西。({11},。{20} $) 谢谢。
答案 0 :(得分:0)
您不能使用字符数,因为它可能会更改(例如,2015年12月25日有1个附加字符)。您可以将此模式与捕获组一起使用:
\d+\/\d+\/\d+\s(\d+:\d+:\d+\s(AM|PM))
第一次捕获将匹配您需要的子串(5:45:40 AM)
查看此example
答案 1 :(得分:0)
在这种情况下,按字符数计算是不正确的,因为日期部分的长度是可变的:8/1/2015只有8个字符长,而12/12/2015长度为10个字符。
8/1/2015
12/12/2015
最好匹配\d{1,2}:\d{2}:\d{2} (AM|PM)来捕获字符串的时间部分。
\d{1,2}:\d{2}:\d{2} (AM|PM)
Demo.