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

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

正則表達(dá)式查找包含子字符串但不以同一子字符串結(jié)尾的字符串

正則表達(dá)式查找包含子字符串但不以同一子字符串結(jié)尾的字符串

瀟瀟雨雨 2023-09-05 15:48:17
我正在嘗試編寫一個正則表達(dá)式來檢查字符串是否包含子字符串“ing”,但它大多數(shù)不會以“ing”結(jié)尾。所以“唱”這個詞不行,但“歌手”可以。我想我已經(jīng)弄清楚如何確保字符串不以 ing 結(jié)尾,因為我正在使用(!<?(ing))$但當(dāng)我希望這個詞也包含“ing”時,我似乎無法讓它工作。我在想類似的事情(\w+(ing))(!<?(ing))$但這是行不通的,我的所有解決方案都將包含多個單詞。所以它將匹配歌手但不匹配歌手制作,它仍然應(yīng)該匹配這里的歌手,只是不匹配制作。
查看完整描述

3 回答

?
慕姐8265434

TA貢獻(xiàn)1813條經(jīng)驗 獲得超2個贊

您可以使用以下模式:


ing(?=\w)

這僅適用于包含whiching且后跟另一個單詞字符的單詞。這是一個例子:


inp = 'singer'

if re.search(r'ing(?=\w)', inp):

    print('singer is a MATCH')


inp = 'sing'

if re.search(r'ing(?=\w)', inp):

    print('sing is a MATCH')

這打?。?/p>


singer is a MATCH

編輯:


要匹配包含非終結(jié)符的整個單詞ing,我建議使用re.findall:


inp = "Madonna is a singer who likes to sing."

matches = re.findall(r'\b\w*ing\w+\b', inp)

print(matches)    # prints ['singer']


查看完整回答
反對 回復(fù) 2023-09-05
?
DIEA

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

如果單詞不能以 ing 結(jié)尾但必須包含 ing:

\b\w*ing(?!\w*ing\b)\w+

解釋

  • \b一個字邊界

  • \w*匹配0+單詞字符

  • ing匹配所需的ing

  • (?!\w*ing\b)否定前瞻,斷言 theing不在單詞末尾

  • \w+匹配 1+ 個單詞字符,因此后面必須至少有一個字符

正則表達(dá)式演示Python演示

例如

import re


items = ["singer","singing","ing","This is a ing testing singalong"]

pattern = r"\b\w*ing(?!\w*ing$)\w+\b"


for item in items:

    result = re.findall(pattern, item)

    if result:

        print(result)

輸出


['singer']

['singalong']


查看完整回答
反對 回復(fù) 2023-09-05
?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗 獲得超11個贊

您可以使用此模式:


import re


pattern = re.compile('\w*ing\w+')

print(pattern.match('sing'))  # No match

print(pattern.match('singer')) # Match


查看完整回答
反對 回復(fù) 2023-09-05
  • 3 回答
  • 0 關(guān)注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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