Pythonの正規表現で、'3.1'のような、ピリオドを含む文字を検出したいのですが、
単純に'.'にすると、ピリオド以外の文字も検出されてしまいます。
かといって、'.'にすると、ピリオドも検出されなくなります。
使用方法に間違いがあるのでしょうか。
発生している問題・エラーメッセージ
下記のソースコードを実行すると、結果、4つのmatchのうち、上2つが引っ掛かります。
(出力)
1stTry 3.1
1stTry 4
該当のソースコード
Python
1import re 2 3pattern = re.compile('.') 4if re.match(pattern, '3.1'): 5 print('1stTry 3.1') 6if re.match(pattern, '4'): 7 print('1stTry 4') 8pattern = re.compile('.') 9if re.match(pattern, '3.1'): 10 print('2ndTry 3.1') 11if re.match(pattern, '4'): 12 print('2ndTry 4')
Python3を使って、JypitorNotebookで実行しています。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/17 13:22
2018/09/17 13:26
2018/09/17 14:30