如何检查整个输入字符串(用空格分隔的实数)是否与Python中的正则表达式匹配?

Ad.H.Jes。

我有一个输入字符串,其中包含由单个空格分隔的实数序列。字符串中只包含一个实数(没有空格)也是可以接受的。我的目标是检查字符串结构是否与以下内容匹配(按此顺序):

  • 可选(0/1):减(-)
  • 1 /更多数字
  • 可选(1+):句点和1 /多个数字
  • 可选(0+):由空格和第一组(前三个项目符号)组成的组

它应该完整地描述字符串。如果不是,它将打印一条错误消息并退出。
^(-?\d+(\.?\d)*)( \1)*$以为我目前的正则表达式是可以的,但即使在应有的时候它也不匹配。

我对此函数的代码如下所示:

import re
def structure_check(string):
    structure = r"^(-?\d+(\.?\d)*)( \1)*$"
    if re.match(structure,string):
        return("OK")
    else:
        print("Input error")
        exit()

它应该接受诸如:15 35 -45 8 -2.3 4564.18 56等的字符串,但它根本不对应于输入中的更改(不匹配)。如果空格太多,放置不正确.-,或者除数字,句点,破折号(-)和空格之外还有其他字符,则该字符不应该匹配

我也可以只用第一个组执行此操作,同时遍历通过按空格分割输入字符串创建的列表,但是我宁愿根据我的主要目标对其进行检查,因为我不必在验证中分割输入功能,并且还可以通过一起检查输入来节省更多的代码行(例如,是否有多余的空格或不支持的字符,我不得不另外检查)。

对不起,如果我错过任何回答的问题,我找不到适合我的Python问题的任何内容。如果您知道任何信息,请随时链接它们。谢谢,我是一个初学者,大约在昨天才开始为一个项目学习正则表达式。

克里斯托夫·沃西卡(KryštofVosyka)

具体来说,问题在于您的正则表达式( \1)*描述的含义是:组1中匹配的空间和字符串零次或多次因此,您的regexp将与以下内容匹配,例如:
15 15 15
-5.3 -5.3 -5.3 -5.3

等等。

要修复正则表达式,我将用实际的组替换组引用,如下所示:
^(-?\d+(\.?\d)*)( -?\d+(\.?\d)*)*$

我还要指出,此正则表达式允许数字具有多个小数点(例如,1.2.3传递),但是我不确定这是否是故意的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检查正则表达式是否与javascript中的整个字符串匹配?

来自分类Dev

用空格分隔的字符串匹配的正则表达式

来自分类Dev

检查字符串是否与python中的正则表达式完全匹配

来自分类Dev

正则表达式匹配由空格分隔的数字值,但整个字符串不以空格结尾

来自分类Dev

如何检查字符串是否与正则表达式匹配

来自分类常见问题

检查字符串是否与Bash脚本中的正则表达式匹配

来自分类Dev

布尔检查字符串是否与ruby中的正则表达式匹配?

来自分类Dev

Java字符串用单词,空格和特殊字符分隔正则表达式

来自分类Dev

Javascript正则表达式匹配用空格分隔但不包含点的字符串

来自分类Dev

正则表达式匹配字符串,以空格分隔

来自分类Dev

如何检查字符串是否与node.js中的任何正则表达式数组匹配?

来自分类Dev

如何使用正则表达式检查字符串是否匹配Oracle中的多个条件?

来自分类Dev

用于检查字符串中单词的正则表达式仅由空格分隔,而不是由 _AND_/_OR_ python 分隔

来自分类Dev

如果字符串仅包含空格,则匹配的正则表达式是否匹配?

来自分类Dev

我如何使用正则表达式判断字符串是否仅包含python中的数字和空格

来自分类Dev

用多个字符串匹配整个世界的正则表达式

来自分类Dev

如何使用正则表达式验证带空格的逗号分隔字符串

来自分类Dev

python正则表达式按逗号或空格分隔(但保留字符串原样)

来自分类Dev

正则表达式检查字符串是否只有空格

来自分类Dev

如何检查字符串在Python中是否为有效的正则表达式?

来自分类Dev

用正则表达式匹配字符串

来自分类Dev

用正则表达式匹配字符串?

来自分类Dev

用正则表达式匹配字符串

来自分类Dev

Python正则表达式分隔字符串

来自分类Dev

Python正则表达式,如何从字符串中删除所有匹配项

来自分类Dev

如何删除所有与python中的正则表达式匹配的字符串?

来自分类Dev

Python正则表达式仅匹配整个字符串

来自分类Dev

匹配正则表达式中的整个字符串

来自分类Dev

使用动态正则表达式匹配字符串中的整个单词

Related 相关文章

  1. 1

    如何检查正则表达式是否与javascript中的整个字符串匹配?

  2. 2

    用空格分隔的字符串匹配的正则表达式

  3. 3

    检查字符串是否与python中的正则表达式完全匹配

  4. 4

    正则表达式匹配由空格分隔的数字值,但整个字符串不以空格结尾

  5. 5

    如何检查字符串是否与正则表达式匹配

  6. 6

    检查字符串是否与Bash脚本中的正则表达式匹配

  7. 7

    布尔检查字符串是否与ruby中的正则表达式匹配?

  8. 8

    Java字符串用单词,空格和特殊字符分隔正则表达式

  9. 9

    Javascript正则表达式匹配用空格分隔但不包含点的字符串

  10. 10

    正则表达式匹配字符串,以空格分隔

  11. 11

    如何检查字符串是否与node.js中的任何正则表达式数组匹配?

  12. 12

    如何使用正则表达式检查字符串是否匹配Oracle中的多个条件?

  13. 13

    用于检查字符串中单词的正则表达式仅由空格分隔,而不是由 _AND_/_OR_ python 分隔

  14. 14

    如果字符串仅包含空格,则匹配的正则表达式是否匹配?

  15. 15

    我如何使用正则表达式判断字符串是否仅包含python中的数字和空格

  16. 16

    用多个字符串匹配整个世界的正则表达式

  17. 17

    如何使用正则表达式验证带空格的逗号分隔字符串

  18. 18

    python正则表达式按逗号或空格分隔(但保留字符串原样)

  19. 19

    正则表达式检查字符串是否只有空格

  20. 20

    如何检查字符串在Python中是否为有效的正则表达式?

  21. 21

    用正则表达式匹配字符串

  22. 22

    用正则表达式匹配字符串?

  23. 23

    用正则表达式匹配字符串

  24. 24

    Python正则表达式分隔字符串

  25. 25

    Python正则表达式,如何从字符串中删除所有匹配项

  26. 26

    如何删除所有与python中的正则表达式匹配的字符串?

  27. 27

    Python正则表达式仅匹配整个字符串

  28. 28

    匹配正则表达式中的整个字符串

  29. 29

    使用动态正则表达式匹配字符串中的整个单词

热门标签

归档