gpt4 book ai didi

正则表达式:匹配数字,不包括某个位置的某些数字

转载 作者:行者123 更新时间:2023-12-05 01:24:02 27 4
gpt4 key购买 nike

我有一个字符串,它有一个模式,比如“xxx.xxx”。

所以前三个是数字,然后是 .然后是 3 位数字。

我想检查第一个数字是否总是 3,接下来的 2 可以是除 30 和 40 之外的任何数字,其余可以是任何数字。

我的正则表达式尝试是:

"3[^34][0-9]."

但是好像不行。哪一部分是错误的?

最佳答案

试试这个:^3(?!30|40)\d{2}\.\d{3}$

在这里测试正则表达式:https://regex101.com/r/iCtKnB/1

^          matches the start of string
3 matches the number 3
(?!30|40) checks if the next two numbers are not either 30 or 40
\d{2} matches two digits if they are not 30 or 40
\. matches period
\d{3} matches the next three digits
$

基本上,这将匹配以 3 开头的任意数字的模式,后面不是 30 或 40,然后是一个点,然后是另外三个数字。

在您的正则表达式中:"3[^34][0-9]."

  • 3 > 检查以 3 开头的数字
  • [^34] > 那么下一位不是 3 或 4
  • [0-9] > 后跟一个数字,可以是0到9
  • >。 > 后跟任何其他不是空格的字符

因此您的要求未在此正则表达式中检查。

关于正则表达式:匹配数字,不包括某个位置的某些数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71747132/

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