正則表達式匹配字符串中的數字 Python

1.使用「\d+」匹配全數字

代碼:

1 import re
2 
3 zen = "Arizona 479, 501, 870. Carlifornia 209, 213, 650."
4 
5 m = re.findall("\d+", zen)
6 
7 print(m)

結果:

['479', '501', '870', '209', '213', '650']

可是上述這種方式也會引入非純數據,例子以下:spa

1 import re
2 
3 zen = "Arizona 479, 501, 870. Carlifornia 209, 213, 650. string666xxx."
4 
5 m = re.findall("\d+", zen)
6 
7 print(m)

結果:

['479', '501', '870', '209', '213', '650', '666']

 2.使用r「\b\d+\b」匹配純數字數據(r表示原生字符,具備轉義做用)

代碼:

1 import re
2 
3 zen = "Arizona 479, 501, 870. Carlifornia 209, 213, 650. string666xxx."
4 
5 m = re.findall(r"\b\d+\b", zen)
6 
7 print(m)

結果:

['479', '501', '870', '209', '213', '650']

 第一種狀況表達式開頭有沒有 r 影響不大,第二種狀況只有加了 r 才能使用\b(表明先後均有空格的純數字), 不然只會返回一個空列表code

相關文章
相關標籤/搜索