perl兼用正则表的式能根据匹配的字符串长度替换吗?

sh/bash/dash/ksh/zsh等Shell脚本
回复
ztf
帖子: 44
注册时间: 2007-04-29 13:15

perl兼用正则表的式能根据匹配的字符串长度替换吗?

#1

帖子 ztf » 2009-12-10 20:47

var1 in varchar2 ;--变量1
var111111 in varchar2 ;--变量1

通过一个正则替换变成

每行中的3部分:
“var1”,”in varchar2“,“;--变量1”

分别与下一行的3部分左对齐。
上次由 ztf 在 2009-12-10 21:06,总共编辑 2 次。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: perl兼用正则表的式能根据匹配的字符串长度替换吗?

#2

帖子 eexpress » 2009-12-10 20:50

:em20 :em20
啥差别
● 鸣学
ztf
帖子: 44
注册时间: 2007-04-29 13:15

Re: perl兼用正则表的式能根据匹配的字符串长度替换吗?

#3

帖子 ztf » 2009-12-10 21:07

楼上,抱歉了。由于编辑模式格式和世界效果有差别,没看出想表达的效果。改用文字描述。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: perl兼用正则表的式能根据匹配的字符串长度替换吗?

#4

帖子 eexpress » 2009-12-10 21:24

● cat tmp|sed 's/\([0-9]\s\)/\1\t/g'
var1 in varchar2 ;--变量1
var111111 in varchar2 ;--变量1

\t不能保证对齐的。
如果是perl
可以 ($n1,$n2,$n3)=split '\s' 这样试试。似乎要先s/(\d)\s*/$1●/g。预处理下。
● 鸣学
回复