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

2021-08-29 02:38:27 字數 2196 閱讀 1235

匹配指定字串開頭的數字

匹配包含指定字串開頭的數字

匹配時間,17:35:24

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

## 總結

## ^ 匹配字串的開始。

## $ 匹配字串的結尾。

## \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() 函式獲取它的值。

## 正規表示式中的點號通常意味著 「匹配任意單字元」

解題思路:

既然是提取數字,那麼數字的形式一般是:整數,小數,整數加小數;

所以一般是形如:----.-----

根據上述正規表示式的含義,可寫出如下的表示式:"\d+\.?\d*";

\d+匹配1次或者多次數字,注意這裡不要寫成*,因為即便是小數,小數點之前也得有乙個數字;\.?這個是匹配小數點的,可能有,也可能沒有;\d*這個是匹配小數點之後的數字的,所以是0個或者多個;

**如下:

import re

string="a1.45,b5,6.45,8.82"

print re.findall(r"\d+\.?\d*",string)

# ['1.45', '5', '6.45', '8.82']

例如下面的string:

tensorflow:final best valid 0 loss=0.20478513836860657 norm_loss=0.767241849151384 roc=0.8262403011322021 pr=0.39401692152023315 calibration=0.9863265752792358 rate=0.0

提取 calibration=0.9863265752792358.

# 匹配「calibration=」後面的數字

Python 字串與正規表示式

alist list range 1 1001 blist list map str alist cstr join blist dstr cstr str sum range 1 1001 print dstr open text.txt w write dstr import os print ...

python正規表示式分割字串

以數字進行分割假設有以下字串mystr,就想以數字進行分割 mystr 導演 萊塞 霍爾斯道姆 主演 理查 基爾 2009 美國 劇情 指定數字共4位 進行分割import re mystr 導演 萊塞 霍爾斯道姆 主演 理查 基爾 2009 美國 劇情 lst re.split r d mystr...

正規表示式匹配字串

正規表示式用於字串處理 表單驗證等場合,實用高效。現將一些常用的表示式收集於此,以備不時之需。匹配中文字元的正規表示式 u4e00 u9fa5 評注 匹配中文還真是個頭疼的事,有了這個表示式就好辦了 匹配雙位元組字元 包括漢字在內 x00 xff 評注 可以用來計算字串的長度 乙個雙位元組字元長度計...