在Ubuntu 18.10上的gedit 3.28.1中,我试图使用具有相同文字正则表达式的正则表达式替换一些重复出现的文本。例如,在以下两行中,我需要用替换正则表达式替换所有]
之前的字符:
查找正则表达式:
^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])?
替换为文字正则表达式:
^\\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ kernel:( \\[ *[[:digit:]]+\\.[[:digit:]]+\\])?
例如,如果我们从以下“源文本”开始,则目标是获得以下“替换后的文本”
源文本:
Aug 1 09:33:49 samsung4-ubuntu kernel: [ 0.045109] pinctrl core: initialized pinctrl subsystem
Aug 1 09:33:50 samsung4-ubuntu kernel: [ 0.172476] Bluetooth: Core ver 2.22
替换文字:
^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? pinctrl core: initialized pinctrl subsystem
^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? Bluetooth: Core ver 2.22
gedit不会替代。 有人对此有何建议?
答案 0 :(得分:0)
尝试正则表达式:^\w{3} [ :[:digit:]]{11}[._[:alnum:]-]+ kernel:( [ *[[:digit:]]+.[[:digit:]]+])?
您的正则表达式中{11}
之后还有一个空格。