如何使用python验证tkinter中的条目,用于5.0e-7等输入



我想知道如何验证tkinter中入口小部件的输入,以便只容纳数字、'-'符号和字母'e'。这个小部件将像5.0e-7一样接受。提前感谢。

想到两种方法:

Regex

检查用户的输入是否与[数字]的模式匹配。[数字]e-[数字]使用正则表达式:

import re
user_input = '5.0e-7'
if re.match(r'd+.d+e-d+', user_input):
print('valid')
else:
print('not valid')

浮动

看起来您的小部件需要指数格式的数字,在这种情况下,python可以将它们转换为浮点值,而不需要regex。这将允许阴性(例如5.0e-7(和阳性(例如5.0e7(,这可能是也可能不是你想要的:

user_input = '5.0e-7'
try:
float(user_input)
print('valid')
except:
print('not valid')

最新更新