我想用一個正則表達式+ backref表達匹配並替換正則表達式的字符串替換:忽略逗號如果backref是空
text = 'a,b,c'
與text = 'a,b,c,item_1'
text = ''
與text = 'item_1'
和
text = 'a'
與text = 'a,item_1'
。
我使用
sed
也使用python regex是在通常的解決方案感興趣。特別是,我正在尋找與(python)的lineinfile模塊一起使用的解決方案。
這裏是我到目前爲止(在Ansible):
regexp: "^(text[ ]*=[ ]*')([^']*)(')"
backrefs: yes
line: '\1item_1,\2\3'
編輯:如果可能的話,正則表達式+ backref-EX對應該忽略一個已經存在的item_1
,即「更換」
text = 'item_1'
與text = 'item_1'
和
text = 'a,item_1'
與text = 'a,item_1'
和
text = 'a,d,x'
與text = 'a,item_1,x'
等
是一個增加另一個
lineinfile
任務,B和C總是單個字母,也可以是什麼? –實際上,列表中的項目可以是帶下劃線的真實單詞,但對於這個問題,我們保留單個字符。 – Juve