gpt4 book ai didi

python - 如何编写一个正则表达式来查找除 2000 或 1990 或 1234 等 4 位数字之外的所有数字?

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

我有这样的文字:

Film_relase_date:1970_films_by_20th_Century_Fox
我想创建一个匹配除 1970 之外的所有文本的正则表达式,结果是:
Film_relase_date:_films_by_20th_Century_Fox
我尝试使用正则表达式:
[^\d{4}]
但是这个正则表达式返回:
Film_relase_date:_films_by_th_Century_Fox
因此也排除了我想要匹配的 20。
如何改进正则表达式?
编辑:
我想用这个正则表达式来做类似的事情:
x = 'Film_relase_date: 1970_films_by_20th_Century_Fox'

REPLACE (x, "Anything that is not a 4-digit number", "Non-Space") = 1970

最佳答案

请记住 {4}应该添加 after字符类,而不是里面。
无论如何,如果要匹配“除 1970 之外的所有文本”,可以使用以下正则表达式:

([^\d]|(?<!\d)\d(?!\d{3}(?!\d))\d*)?
demo .
此正则表达式匹配:
  • 非数字字符
  • 一个数字字符,前面也没有另一个数字,后面不是正好 3 个数字
  • 关于python - 如何编写一个正则表达式来查找除 2000 或 1990 或 1234 等 4 位数字之外的所有数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65844609/

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