gpt4 book ai didi

regex - 正则表达式中的 optional 字符

转载 作者:行者123 更新时间:2023-12-04 13:04:56 25 4
gpt4 key购买 nike

任务非常简单,但我还没有想出一个好的解决方案:一个字符串可以包含数字、破折号和加号,或者只包含数字。

^[0-9+-]+$

做我需要的大部分事情,除非用户输入像“+-+--+”这样的垃圾

我没有运气定期前瞻,因为破折号和加号可能位于字符串中的任何位置。

有效字符串:
  • 234654
  • 24-3+-2
  • -234
  • 25485+

  • 无效的:
  • ++--+
  • 最佳答案

    这个怎么样:

    ([+-]?\d[+-]?)+

    这意味着“一个或多个数字,每个数字前面或后面都可以有一个 optional 加号或减号”。

    这是一个 Python 测试脚本:
    import re
    TESTS = "234654 24-3+-2 -234 25485+ ++--+".split()
    for test in TESTS:
    print test, ":", re.match(r'([+-]?\d[+-]?)+', test) is not None

    打印这个:
    234654 : True
    24-3+-2 : True
    -234 : True
    25485+ : True
    ++--+ : False

    关于regex - 正则表达式中的 optional 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/884014/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com