0
如何改進以下正則表達式以有效搜索C,CLK和CE端口以及與該端口關聯的特定打印?在Python中修改此正則表達式
現在,下面的代碼檢測到C,CLK和CE,但都標記爲C端口,這並非意圖。
示例代碼如下:
import re
test_array = ['jclk','jce','ja','jb','jc','jd','je']
for thisEntry in test_array:
if re.match(r'jc', thisEntry):
print("this is C port")
elif re.match(r'jce', thisEntry):
print("this is CE port")
elif re.match(r'jclk', thisEntry):
print("this is CLK port")
else:
print("dont care")
結果:
this is C port #for 'jclk', incorrect
this is C port #for 'jce', incorrect
dont care #for 'ja', correct
dont care #for 'jb', correct
this is C port #for 'jc', correct
dont care #for 'jd', correct
dont care #for 'je', correct
在此先感謝。
您需要使用錨。順便說一句,我不明白你爲什麼在這裏使用正則表達式。你不能使用'thisEntry =='jc''條件嗎? – anubhava
嗨,謝謝你的回答。我不使用'thisEntry =='jc''的原因是,在真正的應用程序中,我從一個類中訪問一個字典,其中的值不僅僅是一個簡單的'j *'參數。 – Meeyaw
好,然後使用字邊界或錨定爲:'re.match(r'\ bjc \ b',thisEntry):' – anubhava