簡體   English   中英

python中的精確字符串匹配

[英]exact string matching in python

sysList = str(raw_input('Enter pipe separated list of System [PRIMARY|SECONDARY|]: ')).upper().strip()
p = re.compile(r'\\b'+sysList+'\\b')
nsysList = p.findall(" + sysList + ")

當我運行它時,它會詢問系統,如果我選擇“ SECONDARY”,則該sysList變量將在以下命令中執行:

cmd = "mc-rpc -v " + dStr + " --with-fact serverName='/"+serverList+"/' --with-fact systemType='/"+nsysList+"/' -agent  mc_admin -action runcommand --arg command="+acommand+" > "

當上述命令運行時,它將在服務器中執行,並通過'sysList'變量在名為xxx.yaml的文件中搜索名為'SECONDARY'的字符串。 因此,我得到的不僅僅是一個結果,它與xxx.yaml文件中的“次要”字符串匹配。 喜歡:

SECONDARY SECONDARY-HA

但我只希望SECONDARY出現,而不是所有匹配模式。 請幫我。

將第二行更改為

p = re.compile(r'\b'+sysList+r'\b')

您不希望在原始字符串中使用雙\\\\ ,因為這就是它們的作用:確保轉義序列保持原樣。

暫無
暫無

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

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