gpt4 book ai didi

python - 使用 Python 和正则表达式在 SQL 查询字符串中查找整数和 float

转载 作者:太空宇宙 更新时间:2023-11-03 14:16:59 25 4
gpt4 key购买 nike

我正在开发一个 Python 函数,它解析表示 SQL 查询的字符串并返回数字(整数和 float )。我需要它们来突出显示 GUI 中的数字。

我使用https://regex101.com/测试我构建的正则表达式,我几乎已经得到它,除非数字是 SQL 查询中列名的一部分。

[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?

甚至会在 220 中包含 pop1990,在 (5, 100, 7.8,25;) 中包含 pop1990,这是我想避免的。看起来我可能需要使用 ^ 使用否定,但不确定它是如何工作的。

搜索数字时,如何排除数字紧接在单词字符 (\w) 之后但在 ( 之前或之后仍然匹配的情况、; 等等?

最佳答案

也许这就是您正在寻找的:

https://regex101.com/r/BgEP7C/1

正则表达式是 (?<=[^\w])[\d\.]+ .

  • (?<=[^\w])这是一种积极的回顾;它检查数字后面是否不是 \w ,但它不会将其添加到匹配中
  • [\d\.]+匹配多个数字和 .为小数点。

已更新,可与 + 配合使用, -e :

链接:https://regex101.com/r/BgEP7C/5

正则表达式:(?i)(?<=[^\w])[-+]?[\d\.]+(e[-+]?\d+)?

请求编辑

原始版本无法在 Python 中运行,因为 (e[-+]?\d+)?部分。

在 Python 中运行的版本:(?i)(?<=[^\w])[-+]?[\d\.]+e?[+-]?\d*

关于python - 使用 Python 和正则表达式在 SQL 查询字符串中查找整数和 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48190477/

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