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 に答える