1、使用正規表示式,用法如下:
## ^ 匹配字串的開始。
## $ 匹配字串的結尾。
## \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、解題思路:
既然是提取數字,那麼數字的形式一般是:整數,小數,整數加小數;
所以一般是形如:—-.—–;
根據上述正規表示式的含義,可寫出如下的表示式:」\d+.?\d*」;
·\d+ 匹配1次或者多次數字,注意這裡不要寫成*,因為即便是小數,小數點之前也得有乙個數字;
·.? 這個是匹配小數點的,可能有,也可能沒有;
·\d* 這個是匹配小數點之後的數字的,所以是0個或者多個。
3、**如下:
# -*- 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如何提取字串?
在python中,要提取文字的字串,有多中方法,如使用正規表示式,beautifulsoup或xpath等來提取。下面講解用正規表示式來提取字串。一 單個位置的字串提取 這種情況我們可以使用 這個正規表示式來提取。舉例,乙個字串 a123b 如果我們想提取ab之間的值123,可以使用findall配...
python提取字串中數字
題目 這是乙個複雜問題的簡化 如下是乙個字串列表,提取字串中第二個數字,並判斷是否大於1000,如果是,從列表中刪除這一行。1000 t1002 n 省略 coding utf 8 oldstr 1000 t1002 n newstr oldstr 匹配目標數字左側字串 t newstr.index...
提取 字串中 數字
include include include void main l if find break 有數字則退出迴圈 else printf 沒有數字 請重新輸入 n gets c 沒有則重新出入 l strlen c l strlen c printf 字串長度為 d n l for i 0 i ...