web-dev-qa-db-ja.com

python string format?

文字列はたくさんありますが、次の形式の文字列のみを保持します。

x/x/xxxx xx:xx

文字列がこの形式を満たしているかどうかを確認する最も簡単な方法は何ですか? (2 /と ':'があるかどうかを確認したい場合)

11
user1487000

正規表現で試してください:

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

あなたのニーズに合うように表現をTwerkすることができます

20
kofemann

マッチで正規表現を使用する場合は、終わりが長すぎることも考慮する必要があります。このコードで長さをテストしなければ、改行以外の文字が最後にスリップする可能性があります。ここに他の答えから修正されたコードがあります。

import re
r = re.compile('././.{4} .{2}:.{2}')
s = 'x/x/xxxx xx:xx'
if len(s) == 14:
  if r.match(s):
    print 'matches'
7
Octipi

文字列から時間構造体を解析するには、 time.strptime を使用します。文字列がフォーマットと一致しない場合、ValueErrorが発生します。

6
Ulas Keles