gpt4 book ai didi

python - 1 或 2 或 3 位小数的正则表达式,不允许有前导零、精度 2 和分数

转载 作者:行者123 更新时间:2023-11-28 21:51:56 26 4
gpt4 key购买 nike

我正在尝试创建满足以下条件的正则表达式:

  1. 一位或两位或三位十进制数。

  2. 十进制数字内没有前导零。

  3. 精度 2。

  4. 允许使用真分数(0.__ 个数字)。

  5. 小数点前无文字

正则表达式应匹配以下内容:

  • 123.45
  • 103.67
  • 100.45
  • 25.68
  • 5.97
  • 1.05
  • 23.07
  • 187.08
  • 0.26

正则表达式不应匹配以下内容:

  • .45
  • 1234.45
  • 023.45
  • 03.67
  • 845.7

我想出了以下正则表达式:

(?<!.)^([1-9][0-9]{0,2}\.[0-9][0-9])$

它符合上述所有除了分数。

如果十进制数有 2 位或 3 位,我不想要前导零。但是,如果它是真分数,我确实希望允许使用 0.__)。

但是,我的正则表达式不匹配“0.__”十进制数字,因为它希望数字以 1 开头,因为“^[1-9]”。

请告知如何修改我的正则表达式以匹配“0.__”数字。

最佳答案

试试这个正则表达式。

\b(?!0\d{1,2}\.)\d{1,3}\.\d{2}\b

参见 Demo

关于python - 1 或 2 或 3 位小数的正则表达式,不允许有前导零、精度 2 和分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29141908/

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