Regex 正则表达式:排除尾部.0,但包括所有字符串

Regex 正则表达式:排除尾部.0,但包括所有字符串,regex,Regex,我有许多浮点数/字符串,如下所示: 12339 133339 159 dfkkei 某物 32439 其中一些具有尾随.0。我如何显示所有没有尾随.0的数字作为常规抑制,包括不是数字的项目?我尝试了类似的方法,希望它能将所有.0从捕获组中排除,但它不起作用:(.*)(:?.0)? 您可以使用更简单的正则表达式: \.0+$ 并替换为空字符串,请参见 正则表达式匹配一个(\.)后跟1个或多个零(0+),直到字符串的结尾($) 如果您计划在初始尝试中匹配两组,请使用 ^(.*?)(?:\.0+)?

我有许多浮点数/字符串,如下所示: 12339 133339 159 dfkkei 某物 32439

其中一些具有尾随.0。我如何显示所有没有尾随.0的数字作为常规抑制,包括不是数字的项目?我尝试了类似的方法,希望它能将所有.0从捕获组中排除,但它不起作用:
(.*)(:?.0)?


您可以使用更简单的正则表达式:

\.0+$
并替换为空字符串,请参见

正则表达式匹配一个
\.
)后跟1个或多个零(
0+
),直到字符串的结尾(
$

如果您计划在初始尝试中匹配两组,请使用

^(.*?)(?:\.0+)?$
看到这个了吗

这里,

  • ^
    -字符串的开头
  • (.*)
    -第1组捕获除换行符以外的任何0+字符,尽可能少(=延迟),最多
  • (?:\.0+)
    -可选的
    +一个或多个零序列
  • $
    -在字符串末尾

那么,它是用于Python的吗?在那里使用
r'\.0+$”
删除这些值,或者在不使用正则表达式的情况下,将
'.0'
替换为
'
;)准确地说,它是数据帧中的值。这就是为什么我在寻找相反的结果,这样我就可以做一个df['column'].str.extract(regex,expand=True)使用
^(.*)(:\.0+)$