14

我有一堆字符串,但我只想保留这种格式的字符串:

x/x/xxxx xx:xx

检查字符串是否符合这种格式的最简单方法是什么?(假设我想检查它是否有 2 个 / 和一个 ':' )

4

3 回答 3

27

尝试正则表达式:

import re
r = re.compile('.*/.*/.*:.*')
if r.match('x/x/xxxx xx:xx') is not None:
   print 'matches'

您可以调整表达式以满足您的需求

于 2013-02-19T20:32:06.950 回答
10

使用time.strptime从字符串解析到时间结构。如果字符串与它引发的格式不匹配ValueError

于 2013-02-19T20:31:50.293 回答
8

如果您将正则表达式与 match 一起使用,您还必须考虑结尾太长。如果不测试此代码中的长度,则可以在末尾滑动任何非换行符。这是从其他答案修改的代码。

import re
r = re.compile('././.{4} .{2}:.{2}')
s = 'x/x/xxxx xx:xx'
if len(s) == 14:
  if r.match(s):
    print 'matches'
于 2013-02-19T20:46:39.730 回答