怎么在python中利用正則表達(dá)式從字符串中提取數(shù)字-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)怎么在python中利用正則表達(dá)式從字符串中提取數(shù)字,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

在呼蘭等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站制作,呼蘭網(wǎng)站建設(shè)費(fèi)用合理。

使用正則表達(dá)式,用法如下:


## 總結(jié)
## ^ 匹配字符串的開始。
## $ 匹配字符串的結(jié)尾。
## \b 匹配一個(gè)單詞的邊界。
## \d 匹配任意數(shù)字。
## \D 匹配任意非數(shù)字字符。
## x? 匹配一個(gè)可選的 x 字符 (換言之,它匹配 1 次或者 0 次 x 字符)。
## x* 匹配0次或者多次 x 字符。
## x+ 匹配1次或者多次 x 字符。
## x{n,m} 匹配 x 字符,至少 n 次,至多 m 次。
## (a|b|c) 要么匹配 a,要么匹配 b,要么匹配 c。
## (x) 一般情況下表示一個(gè)記憶組 (remembered group)。你可以利用 re.search 函數(shù)返回對象的 groups() 函數(shù)獲取它的值。
## 正則表達(dá)式中的點(diǎn)號通常意味著 “匹配任意單字符”

解題思路:

既然是提取數(shù)字,那么數(shù)字的形式一般是:整數(shù),小數(shù),整數(shù)加小數(shù);

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

根據(jù)上述正則表達(dá)式的含義,可寫出如下的表達(dá)式:"\d+\.?\d*";

\d+匹配1次或者多次數(shù)字,注意這里不要寫成*,因?yàn)榧幢闶切?shù),小數(shù)點(diǎn)之前也得有一個(gè)數(shù)字;\.?這個(gè)是匹配小數(shù)點(diǎn)的,可能有,也可能沒有;\d*這個(gè)是匹配小數(shù)點(diǎn)之后的數(shù)字的,所以是0個(gè)或者多個(gè);

代碼如下:

import re
string="A1.45,b5,6.45,8.82"
print re.findall(r"\d+\.?\d*",string)
# ['1.45', '5', '6.45', '8.82']

匹配指定字符串開頭的數(shù)字

例如下面的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=”后面的數(shù)字
pattern = re.compile(r'(?<=calibration=)\d+\.?\d*')
pattern.findall(string)
# ['0.9863265752792358']

怎么在python中利用正則表達(dá)式從字符串中提取數(shù)字

匹配包含指定字符串開頭的數(shù)字


pattern = re.compile(r'(?:loss=)\d+\.?\d*')
pattern.findall(string)
# ['loss=0.20478513836860657', 'loss=0.767241849151384']

怎么在python中利用正則表達(dá)式從字符串中提取數(shù)字

匹配時(shí)間,17:35:24


string = "WARNING:tensorflow: 20181011 15:28:39 Initialize training"
pattern = re.compile(r'\d{2}:\d{2}:\d{2}')
pattern.findall(string)
# ['15:28:39']

匹配時(shí)間,20181011 15:28:39


string = "WARNING:tensorflow: 20181011 15:28:39 Initialize training"
pattern = re.compile(r'\d{4}\d{2}\d{2}\s\d{2}:\d{2}:\d{2}')
pattern.findall(string)
# ['20181011 15:28:39']

Python的優(yōu)點(diǎn)有哪些

1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對代碼格式的要求沒有那么嚴(yán)格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺(tái)上使用;3、Python面向?qū)ο?,能夠支持面向過程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序;5、Python功能強(qiáng)大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。

關(guān)于怎么在python中利用正則表達(dá)式從字符串中提取數(shù)字就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)頁題目:怎么在python中利用正則表達(dá)式從字符串中提取數(shù)字-創(chuàng)新互聯(lián)
URL標(biāo)題:http://muchs.cn/article2/dhdpic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)網(wǎng)站排名移動(dòng)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司、自適應(yīng)網(wǎng)站網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)