不确定正则表达式的含义

时间:2019-04-21 17:50:16

标签: python regex

我创建了一个验证用户输入的程序。其中一项检查是针对符号,如果唯一的符号后接至少一个数字,则该符号只能是小数位。我为此使用了正则表达式,据我测试,它们可以正常工作。它首先检查输入中是否有任何符号,然后检查格式是否为任意数量的数字,包括无数字,小数点后一位和至少一位数字。但是,几个月前,我在下面编写了代码,现在,我正在尝试编写有关该程序的文章,我正努力寻找正则表达式的确切说明,这是我需要帮助的地方。

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>

1 个答案:

答案 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,*,+ =乘数,? =非贪婪搜索,\. =简单点,