[英]Using command sed replace variable with regular expression error
當我學習有關sed的命令時,我發現了我無法解決的問題。我要處理的txt如下:
myBook:test yetongxue$ cat test.txt
def IsNonce_strSet(self):
"""
判斷隨機字符串是否存在
@return true 或 false
"""
return self._values.has_key('nonce_str')
這是我的命令和結果:
myBook:test yetongxue$ sed "s/return self._values.has_key\(\)/mark1 \1 mark2/g" test.txt
def IsNonce_strSet(self):
"""
判斷隨機字符串是否存在
@return true 或 false
"""
mark1 mark2('nonce_str')
我對mark2的位置感到困惑,該位置應該在('nonce_str')之后。 像這樣:
mark1('nonce_str')mark2
有人可以解釋嗎? 非常感謝!
而且,我該如何對正則表達式加白,以便僅將字符串匹配nonce_str 。 我的命令是:
sed“ s / return self._values.has_key('()')/ mark1 \\ 1 mark2 / g” test.txt
但這不起作用。
正則表達式\\(\\)
匹配並捕獲sed
的空字符串。
顯然,您希望捕獲一組文字括號以及它們之間的文字?
sed ´s/return self\._values\.has_key\(([^()]*)\)/mark1 \1 mark2/'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.