我正在做类似“语法分析器”的事情Kivy,使用re(正则表达式)。
我只想检查基本操作的有效语法(如 +|-|*|/|(|))。用户将字符串(使用键盘)粘贴起来,然后我使用正则表达式对其进行验证。但我不知道如何在 if 语句中使用正则表达式。我想要的是:如果用户带给我的字符串不正确(或未使用正则表达式检查),则打印“inavlid string”之类的内容,如果正确则打印“Valid string”。
我试过:
if re.match(patron, string) is not None:
print ("\nTrue")
else:
print("False")
但是,不管做什么string,应用程序总是显示True.
对不起,我的英语不好。任何帮助将不胜感激!
import re
patron= re.compile(r"""
(
-?\d+[.\d+]?
[+*-/]
-?\d+[.\d+]?
[+|-|*|/]?
)*
""", re.X)
obj1= self.ids['text'].text #TextInput
if re.match(patron, obj1) is not None:
print ("\nValid String")
else:
print("Inavlid string")
if obj1= "53.22+22.11+10*555+62+55.2-66"实际上它是正确的并且应用程序打印“有效...”但是如果我a像这样输入"a53.22+22.11+10*555+62+55.2-66"它是不正确的并且应用程序必须打印invalid..但它仍然是valid。
MM们
拉丁的传说
相关分类