使用正規表示式,用法如下:
## 總結解題思路:## ^ 匹配字串的開始。
## $ 匹配字串的結尾。
## \b 匹配乙個單詞的邊界。
## \d 匹配任意數字。
## \d 匹配任意非數字字元。
## x? 匹配乙個可選的 x 字元 (換言之,它匹配 1 次或者 0 次 x 字元)。
## x* 匹配0次或者多次 x 字元。
## x+ 匹配1次或者多次 x 字元。
## x 匹配 x 字元,至少 n 次,至多 m 次。
## (a|b|c) 要麼匹配 a,要麼匹配 b,要麼匹配 c。
## (x) 一般情況下表示乙個記憶組 (remembered group)。你可以利用 re.search 函式返回物件的 groups() 函式獲取它的值。
## 正規表示式中的點號通常意味著 「匹配任意單字元」
2.1 既然是提取數字,那麼數字的形式一般是:整數,小數,整數加小數;
2.2 所以一般是形如:----.-----;
2.3 根據上述正規表示式的含義,可寫出如下的表示式:"\d+\.?\d*";
2.4 \d+匹配1次或者多次數字,注意這裡不要寫成*,因為即便是小數,小數點之前也得有乙個數字;\.?這個是匹配小數點的,可能有,也可能沒有;\d*這個是匹配小數點之後的數字的,所以是0個或者多個;
**如下:
# -*- coding: cp936 -*-import re
string="a1.45,b5,6.45,8.82"
print re.findall(r"\d+\.?\d*",string)
# ['1.45', '5', '6.45', '8.82']
python正規表示式從字串中提取數字
匹配指定字串開頭的數字 匹配包含指定字串開頭的數字 匹配時間,17 35 24 使用正規表示式,用法如下 總結 匹配字串的開始。匹配字串的結尾。b 匹配乙個單詞的邊界。d 匹配任意數字。d 匹配任意非數字字元。x?匹配乙個可選的 x 字元 換言之,它匹配 1 次或者 0 次 x 字元 x 匹配0次或...
從字串中提取數字
下面程式將字串中的連續數字提取出來,並存放到一維陣列中。比如說乙個字串 a284twx234 je3432 把 284 234 3432 這3個連續數字提取出來,分別存放到a 0 a 1 a 2 中。include include include int main buf i 0 sscanf bu...
正規表示式用於字串提取
需要從文字中抽取字串,例如,從下面的xml文字中抽取link和title的值,codeguru.com something lifehacker something 可以用如下的c 實現 private void buttonregular click object sender,eventargs...