簡體   English   中英

python字符串匹配中的條件正則表達式

[英]conditional regex in python string matching

pattern=re.compile(r'item (?(1)2|3)')
n=re.findall(pattern, 'item 2 item 3')

輸出為:['item 2','item 3']但是我希望它只是項目2(如果它出現在字符串中)或項目3(如果項目2不存在)。 對我的錯誤以及解決方案的解釋將很有幫助。

這是你想要的?

import re

itemlist = ["pickles", "item 2", "item3"]
text = "item 3 item 2"

for item in itemlist:
    if re.search(item, text):
        print (item)
        break

如果找到匹配項,則對有序列表進行迭代。

item 2

這是你想要的嗎?

if bool(re.search('item 2', word)):
    n=re.findall('item 2', word)
else:
    n=re.findall('item 3', word)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM