import re
data = "sda 8:0 0 107374182400 0 disk \r\n\root@awx1:~[root@awx1 ~]# s"
re.sub(r"root@awx1:~\[root@awx1 ~\]# s","",data)
'sda 8:0 0 107374182400 0 disk \r\n\root@awx1:~[root@awx1 ~]# s'
它没有被替换。如何将子字符串与正则表达式匹配并替换它?
答案 0 :(得分:1)
这是re.escape
的用途。
>>> data = "sda 8:0 0 107374182400 0 disk \r\nroot@awx1:~[root@awx ~]# s"
>>> substring = re.escape( "root@awx1:~[root@awx ~]# s")
>>> re.sub(substring, '', data)
'sda 8:0 0 107374182400 0 disk \r\n'
注意:我从您的示例中删除了一个我认为不存在的额外\
字符。在\r\n
和root
之间。