2024-10-02 16:29:18 发布
网友
我有一个字符串:
string="soupnot$23.99dedarikjdf$44.65 notworryfence$98.44coyoteugle$33.94rock$2,300.00"
我想提取数字23.99, 44.65, 98.44,33.44, 2,300.00。我有这个正则表达式
23.99, 44.65, 98.44,33.44, 2,300.00
\$(.*[^\s])
这有两个问题
谢谢
您可以使用regex,如下所示:
import re string="soupnot$23.99dedarikjdf$44.65 notworryfence$98.44coyoteugle$33.94rock$2,300.00" res = re.findall(pattern="[\d.,]+", string=string)
输出:
['23.99', '44.65', '98.44', '33.94', '2,300.00']
试试这个正则表达式:
(?<=\$)\d+(?:,\d+)*(?:\.\d+)?
Click for Demo
解释
(?<=\$)
$
\d+
(?:,\d+)*
,
(?:\.\d+)?
.
?
您可以使用regex,如下所示:
输出:
试试这个正则表达式:
(?<=\$)\d+(?:,\d+)*(?:\.\d+)?
Click for Demo
解释
(?<=\$)
-正向查找前面有$
的位置\d+
-匹配1+个数字的出现次数(?:,\d+)*
-匹配,
的0+次出现,后跟1个或多个数字(?:\.\d+)?
-匹配一个.
,后跟1+个数字?
最后使这个小数部分成为可选的相关问题 更多 >
编程相关推荐