tags:

views:

182

answers:

4

Hello At python, I want to check if the input string is in "HH:MM" such as 01:16 or 23:16 or 24:00. Giving true or false by the result.

How can I achieve this by using regular expression ?

+7  A: 

You can achieve this without regular expressions:

import time

def isTimeFormat(input):
    try:
        time.strptime(input, '%H:%M')
        return True
    except ValueError:
        return False

>>>isTimeFormat('12:12')
True

>>>isTimeFormat('012:12')
False
Nadia Alramli
+1  A: 

This will give you the regexp object which will check it. However, depending on who you ask 24:00 might not be a valid time (it's 00:00). But I guess this is easy to modify to suit your needs.

import re
regexp = re.compile("(24:00|2[0-3]:[0-5][0-9]|[0-1][0-9]:[0-5][0-9])")
af
A: 
import re

time_re = re.compile(r'^(([01]\d|2[0-3]):([0-5]\d)|24:00)$')
def is_time_format(s):
    return bool(time_re.match(s))

Matches everything from 00:00 to 24:00.

Ants Aasma
A: 

This patters will help you: http://regexlib.com/DisplayPatterns.aspx?cattabindex=4&categoryId=5

BTW, you should use google before asking this kind of questions...

Santi