第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 使用正則表達(dá)式捕獲字符串中的特定模式

Python 使用正則表達(dá)式捕獲字符串中的特定模式

開滿天機(jī) 2021-11-23 20:21:00
我有一個這樣的字符串'6\' 3" ( 190 cm )',我想'190 cm'只使用正則表達(dá)式提取。我找不到合適的模式來尋找。我試過了string = '6\' 3" ( 190 cm )'pattern = re.compile(r'[^\\( 0-9+ \\)]')pattern.findall(a)但它返回 ["'", '"', 'c', 'm']感謝您的幫助!
查看完整描述

3 回答

?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個贊

print re.findall(r'[0-9]+ cm',string)[0]

在哪里string

'6\' 3" ( 190 cm )'


查看完整回答
反對 回復(fù) 2021-11-23
?
隔江千里

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個贊

您的表達(dá)式中有太多不需要和有害的符號。


使用周圍[]做findall匹配單個字符,這說明你得到的輸出。


這需要重新考慮:轉(zhuǎn)義括號,用于\d+匹配一個或多個數(shù)字,以及顯式cm和空格。


創(chuàng)建一個組只匹配數(shù)字+單位,用于search查找組并顯示它。


import re

string = '6\' 3" ( 190 cm )'

pattern = re.compile(r'\( (\d+ cm) \)')


>>> pattern.search(string).group(1)

'190 cm'


查看完整回答
反對 回復(fù) 2021-11-23
?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個贊

使用正則表達(dá)式:


import re


s = '6\' 3" ( 190 cm )'

desired_output = re.search(r'\((.*?)\)',s).group(1).lstrip()


print(desired_output)

>>> 190 cm

沒有正則表達(dá)式:


s = '6\' 3" ( 190 cm )'

desired_output = s[s.find("(")+1:s.find(")")].lstrip()


print(desired_output)

>>> 190 cm


查看完整回答
反對 回復(fù) 2021-11-23
  • 3 回答
  • 0 關(guān)注
  • 283 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號