gpt4 book ai didi

regex - 是否有正则表达式可以识别正偶数(包括带前导零的数字,但不包括 "0000"数字)?

转载 作者:行者123 更新时间:2023-12-05 01:22:11 25 4
gpt4 key购买 nike

正如我在标题中所说,我很难写出这个特定的正则表达式。任何帮助将不胜感激。

我尝试解决此问题的最佳尝试是编写以下内容:

^([0-9]*[1-9][0-9]*)*[02468]$

但是这个正则表达式无法识别像“002”这样的数字。然后我尝试了这个:

^([0-9]*[1-9][0-9]*)*[02468]*[02468]$

现在正则表达式可以识别“002”,但也可以识别“000”(仅零),我无法避免这种情况的发生。

总而言之,我在编写可以识别正偶数(包括前导零,但不包括“000” - 只有零的数字)的正则表达式时一次又一次失败,例如:

2、001234、00123400、002、20、16 等

提前谢谢你。

最佳答案

您可以对除 0 之外的任何数字使用正前瞻:

^(?=.*[1-9])[0-9]*[02468]$
  • (?=.*[1-9]) - 对除 0
  • 以外的任何数字进行正向预测
  • [0-9]* - 任何重复 0 次或多次的数字
  • [02468] - 任何偶数

Demo

关于regex - 是否有正则表达式可以识别正偶数(包括带前导零的数字,但不包括 "0000"数字)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74422635/

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