我创建了一个验证用户输入的程序。其中一项检查是针对符号,如果唯一的符号后接至少一个数字,则该符号只能是小数位。我为此使用了正则表达式,据我测试,它们可以正常工作。它首先检查输入中是否有任何符号,然后检查格式是否为任意数量的数字,包括无数字,小数点后一位和至少一位数字。但是,几个月前,我在下面编写了代码,现在,我正在尝试编写有关该程序的文章,我正努力寻找正则表达式的确切说明,这是我需要帮助的地方。
regex1 = re.compile(r'(?![a-zA-Z0-9])[!-~]')
regex2 = re.compile(r'^\d*\.\d+?$')
if regex1.search(value):
if regex2.search(value) == None:
<value does not pass>
答案 0 :(得分:0)
免责声明:我仍在学习正则表达式,所以请原谅,我会尽我所能解释
首先,您会在此python re中找到所需的一切,而要练习,则应尝试how to
这是对某些模式的快速解释
regex1 = re.compile(r'(?![a-zA-Z0-9])[!-〜]') regex2 = re.compile(r'^ \ d *。\ d +?$')
(?!...) 如果...下一个不匹配,则匹配。这是一个否定的超前断言。例如,仅当Isaac(?!Asimov)后面不带“ Asimov”时,它才会与“ Isaac”匹配。
[!-~]
匹配单个字符,即!,-,〜
'^\d*\.\d+?$'
有一些符号,例如^
=搜索文本的开头,\d
=数字0-9,*,+
=乘数,?
=非贪婪搜索,\.
=简单点,