Regex 用修改过的字符串替换字符串
我有一个1000行的文件Regex 用修改过的字符串替换字符串,regex,Regex,我有一个1000行的文件 "20140611","20:19","C","IT","IT","HDR","HDPDIT","675605","000000135.97"," .......... 我正在尝试替换与此模式匹配的所有字符串: 然后引用6个数字,然后再加上结束语(即“675605”和“675605@”) 使用“编辑+正则表达式搜索和替换”,搜索字符串为: \"[0-9][0-9][0-9][0-9][0-9][0-9]\" 这将找到我需要的所有事件 但是,我无法构造正确的repla
"20140611","20:19","C","IT","IT","HDR","HDPDIT","675605","000000135.97"," ..........
我正在尝试替换与此模式匹配的所有字符串:
然后引用6个数字,然后再加上结束语(即“675605”和“675605@”)
使用“编辑+正则表达式搜索和替换”,搜索字符串为:
\"[0-9][0-9][0-9][0-9][0-9][0-9]\"
这将找到我需要的所有事件
但是,我无法构造正确的replace with reg ex,以将匹配项替换为自身后跟@符号,例如“675605@使用sed,您可以:
sed -r 's|"([0-9]{6})"|"\1@"|g' file
添加-i
以内联修改它
因此,我建议的正则表达式替换形式是:
"([0-9]{6})" - "\1@"
引述:
\"([0-9]{6})\" - \"\\1@\"
正则表达式:
替换字符串:
"\1@
替换字符串将是
“\1”
,如果您想“675605@”
您需要使用捕获组。我不知道您是否可以在Edit Plus中使用它们,但我认为它应该可以工作:
查找内容:\”(\d{6})\“
替换为:\“\1@\”
其中
\1
是括号中的数字。使用以下命令在vim或vi编辑器中打开文件:
vi“文件名”
然后使用此命令将“675605”图案替换为“675605@”
:%s/675605/675605@/g
然后
esc:wq
现在打开文件,它将所有“675605”模式替换为“675605@”
"\1@