2024-06-25 07:27:15 发布
网友
我有以下格式的可能性:
1,34$ 1.34$ 114$ 0,34$ 0.34$
我只想知道号码。在
我用的是普通快车
但是当我在1,34$中测试它时,我得到了两个结果,分别是1和{}
1,34$
1
我的问题是谁能得到整数
我的第二个问题是我怎么能不在乎它是逗号还是点。在
正确的正则表达式是:
(\d+(?:[.,]\d*)?)
这意味着:一个或多个数字后接一个点或一个逗号,后跟零个或多个数字。在
捕获组是整个表达式(括号之间的所有内容)。注意,(?...)是一个捕获组,它只是一个表达式分组,因此{}适用于该组中的所有内容。在
(?...)
您得到两个结果的原因是您使用了两个捕获组。在
如果你想把结果转换成一个数字,你就必须把可能的逗号替换成一个点,然后转换成一个浮点数。假设捕获的文本位于text:
text
例如:
import re text = '1,32$' match = re.match(r'(\d+(?:[.,]\d*)?)',text) float(match.group(1).replace(',','.')) >>> 1.320
正确的正则表达式是:
这意味着:一个或多个数字后接一个点或一个逗号,后跟零个或多个数字。在
捕获组是整个表达式(括号之间的所有内容)。注意,}适用于该组中的所有内容。在
(?...)
是一个捕获组,它只是一个表达式分组,因此{您得到两个结果的原因是您使用了两个捕获组。在
如果你想把结果转换成一个数字,你就必须把可能的逗号替换成一个点,然后转换成一个浮点数。假设捕获的文本位于
^{pr2}$text
:例如:
相关问题 更多 >
编程相关推荐