正規表示式 從字串中提取數字

2021-07-15 18:05:38 字數 888 閱讀 4440

使用正規表示式,用法如下:

## 總結

## ^ 匹配字串的開始。

## $ 匹配字串的結尾。

## \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...