正規表現を使用して、文字列が「999.999-A9-Won」の形式であり、空白、タブ、または改行文字がないことを確認したいと思います。
- 0 から 9 までの範囲の数字が 2 つまたは 3 つある場合があります。
- ピリオド「.」が続きます。
- 再び、0 から 9 の範囲の 2 つまたは 3 つの数字が続きます
- ハイフン、文字「A」、および 0 ~ 9 の数字が続きます。
- この後は何でもできます。
例: 87.98-A8-abcdef
私が今まで思いついたコードは次のとおりです。
testString = "87.98-A1-help"
regCompiled = re.compile('^[0-9][0-9][.][0-9][0-9][-A][0-9][-]*');
checkMatch = re.match(regCompiled, testString);
if checkMatch:
print ("FOUND")
else:
print("Not Found")
これはうまくいかないようです。何が欠けているのかわかりません。ここでの問題は、空白、タブ、改行文字をチェックしていないことと、10 進数の前後の整数の数値をハードコーディングしていないことです。