python正则表达式从字符串中提取数字的思路详解 |
您所在的位置:网站首页 › 哪种孕妇容易胆汁酸高 › python正则表达式从字符串中提取数字的思路详解 |
python 正则表达式从字符串中提取数字的思路详解 python 从字符串中提取数字 使⽤正则表达式,⽤法如下: ## 总结 ## ^ 匹配字符串的开始。 ## $ 匹配字符串的结尾。 ## \b 匹配⼀个单词的边界。 ## \d 匹配任意数字。 ## \D 匹配任意⾮数字字符。 ## x? 匹配⼀个可选的 x 字符 ( 换⾔之,它匹配 1 次或者 0 次 x 字符 ) 。 ## x* 匹配 0 次或者多次 x 字符。 ## x+ 匹配 1 次或者多次 x 字符。 ## x{n,m} 匹配 x 字符,⾄少 n 次,⾄多 m 次。 ## (a|b|c) 要么匹配 a ,要么匹配 b ,要么匹配 c 。 ## (x) ⼀般情况下表⽰⼀个记忆组 (remembered group) 。你可以利⽤ re.search 函数返回对象的 groups() 函数获取它的值。 ## 正则表达式中的点号通常意味着 “ 匹配任意单字符 ” 解题思路: 既然是提取数字,那么数字的形式⼀般是:整数,⼩数,整数加⼩数; 所以⼀般是形如: ----.----- ; 根据上述正则表达式的含义,可写出如下的表达式: "\d+\.?\d*" ; \d+ 匹配 1 次或者多次数字,注意这⾥不要写成 * ,因为即便是⼩数,⼩数点之前也得有⼀个数字; \.? 这个是匹配⼩数点的,可能有,也可能没有; \d* 这个 是匹配⼩数点之后的数字的,所以是 0 个或者多个; 代码如下: import re string="A1.45 , b5 , 6.45 , 8.82" print re.findall(r"\d+\.?\d*",string) # ['1.45', '5', '6.45', '8.82'] 匹配指定字符串开头的数字 例如下⾯的 string : tensorflow:Final best valid 0 loss=0.20478513836860657 norm_loss=0.767241849151384 roc=0.8262403011322021 pr=0.39401692152023315 calibration=0.9863265752792358 rate=0.0 提取 calibration=0.9863265752792358 . # 匹配 “calibration=” 后⾯的数字 pattern = re.compile(r'(? |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |