python 從字符串中提取數值


python中用re.findall函數,里面寫正則表達式

 

root@vdirectva:/home/lic_auto_scale# cat re.py
import re
test=['10Mbps','100bps','6.7Gbps','0.8bps','10.562Kbps']
for union in test :
  _size=re.findall(r'\d+\.*\d*',union)
  xusage = re.findall(r'\D*bps',union)
print("size: %3s , traffic volume unit : %3s", (_size,xusage))

root@vdirectva:/home/lic_auto_scale#
root@vdirectva:/home/lic_auto_scale# python ./re.py
('size: %3s , traffic volume unit : %3s', (['10'], ['Mbps']))
('size: %3s , traffic volume unit : %3s', (['100'], ['bps']))
('size: %3s , traffic volume unit : %3s', (['6.7'], ['Gbps']))
('size: %3s , traffic volume unit : %3s', (['0.8'], ['bps']))
('size: %3s , traffic volume unit : %3s', (['10.562'], ['Kbps']))

 

正則表達式含義

. # 點可代表一切字符

\ # 起轉義作用

[...] # 指代方括號中的任意字符

\d # 指代數字0-9

\D # 指代非數字

\s # 指代一切空格,包括tab制表符、空格、換行等

\S # 指代非空格

\w # 指代大小寫字母、數字和下划線

\W # 指代非大小寫字母、數字和下划線

* # 匹配前面字符 >=0 次

+ # 匹配前面字符1次及以上

? # 匹配前面字符0次或1次

{m} # 匹配m次

{m,n} # 匹配m到n次

{m,} # 至少匹配m次


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM