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

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

使用正則表達式的 Python 中的空格后跟括號(非惰性)

使用正則表達式的 Python 中的空格后跟括號(非惰性)

慕田峪7331174 2022-10-06 19:54:10
我正在嘗試執(zhí)行以下操作:從字符串列表中提取第一次出現(xiàn)(可能不止一個)空格之前的任何內(nèi)容,然后是圓括號“(”。我嘗試了以下方法:re.findall("(.*)\s\(", line))但它給出了例如以下字符串的扭曲結(jié)果:Carrollton(西喬治亞大學)[2]*Dahlonega(北喬治亞學院和州立大學)[2]提前致謝
查看完整描述

2 回答

?
鳳凰求蠱

TA貢獻1825條經(jīng)驗 獲得超4個贊

要在第一次出現(xiàn)空白字符之前提取任何內(nèi)容,然后是圓括號(,您可以使用re.search(此方法僅用于提取第一個匹配項):

re.search(r'^(.*?)\s\(', text, re.S).group(1)
re.search(r'^\S*(?:\s(?!\()\S*)*', text).group()

請參閱regex #1 demoregex #2 demos。請注意,第二個雖然更長,但效率更高,因為它遵循展開循環(huán)原則。

細節(jié)

  • ^- 字符串的開始

  • (.*?)- 第 1 組:盡可能少的任何 0+ 個字符,

  • \s\(- 一個空格和(字符。

或更好:

  • ^\S*- 字符串開頭,然后是 0+ 個非空白字符

  • (?:\s(?!\()\S*)*- 0 次或多次出現(xiàn)

    • \s(?!\()- 后面沒有跟的空白字符(

    • \S*- 0+ 非空白字符

請參閱Python 演示

import re

strs = ['Isla Vista (University of California, Santa Barbara)[2]','Carrollton (University of West Georgia)[2]','Dahlonega (North Georgia College & State University)[2]']

rx = re.compile(r'^\S*(?:\s(?!\()\S*)*', re.S)

for s in strs:

    m = rx.search(s) 

    if m:

        print('{} => {}'.format(s, m.group()))

    else:

        print("{}: No match!".format(s))


查看完整回答
反對 回復(fù) 2022-10-06
?
子衿沉夜

TA貢獻1828條經(jīng)驗 獲得超3個贊

您可以為此使用前瞻。試試這個正則表達式:

[a-z A-Z]+(?=[ ]+[\(]+)


查看完整回答
反對 回復(fù) 2022-10-06
  • 2 回答
  • 0 關(guān)注
  • 95 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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