Python3でプログラミングする。Python:文字列が特定の書式を満たしているかどうかを調べる
文字列が特定の形式を満たしているかどうかを制御するのが難しいです。
私は、PythonにはJavaのように.contain()
というメソッドはありませんが、正規表現を使用できることはわかっています。 これで、私のコードはおそらくこのように見えます。ここで、lowpan_headersは、特定のフォーマットを満たす文字列であるフィールドを持つ辞書です。 ように、コードは、おそらくこのようになります:
import re
lowpan_headers = self.converter.lowpan_string_to_headers(lowpan_string)
pattern = re.compile("^([A-Z][0-9]+)+$")
pattern.match(lowpan_headers[dest_addrS])
はしかし、私の問題はフォーマットであり、私はそれが権利を取得することができていません。 形式はbbbb00000000000000170d0000306fb6
のようにしてください。最初の4文字はbbbb
で、残りはすべて正確な長さで16進数でなければなりません(0-9と-fから)。
2つの質問 (1)再インポートを除いてこれを行う簡単な方法 (2)そうでない場合、正規表現で私を助けてくれますか?私は
^bbbb[0-9a-f]{28}$
が要件に対して正しく検証する必要があることを信じて、あなたが探している正規表現については
Python ** does **は "contains"を持っています** https://stackoverflow.com/questions/3437059/does-python-have-a-string-contains-substring-method – Asunez
Python * * 'Java.lang.String.contains'のようなものを持っていますが、' in'演算子を使用します: 'string1 in string2'ですが、あなたの仕様ではあなたのように聞こえます*実際には正規表現が必要です* –
この正規表現はあなた: 'r '^ b {4} [0-9a-f] {28} $''? – ikkuh