|
发表于 2006-3-8 10:56:11
|
显示全部楼层
- for (i=1;i<=N-1;i++) rstring=(rstring?rstring"[\t ]*":"")"[a-zA-Z0-9_-]*"
复制代码
其实是这样的,rstring是为了用来匹配那些不需要显示的column,举例来说:
- bash# ls -l
- -rwxr-xr-x 1 genesis users 1092 Mar 8 10:35 read-redirection
- -rwxr-xr-x 1 genesis users 285 Feb 24 14:30 seeding-random
- -rwxr-xr-x 1 genesis users 250 Mar 7 14:25 select
- -rwxr-xr-x 1 genesis users 164 Mar 6 13:00 setty
- -rwxr-xr-x 1 genesis users 623 Mar 7 15:43 spawn.sh
- -rwxr-xr-x 1 genesis users 181 Feb 23 16:27 t-out
- -rwxr-xr-x 1 genesis users 328 Feb 21 12:46 tifs
- -rwxr-xr-x 1 genesis users 599 Feb 21 16:14 timed-input
- -rwxr-xr-x 1 genesis users 370 Feb 23 15:30 timeout
- -rwxr-xr-x 1 genesis users 212 Feb 21 16:47 tmout
- -rwxr-xr-x 1 genesis users 582 Feb 21 13:33 trpexit
复制代码
如果我只想显示genesis以后的内容,那么
rstring=[a-zA-Z0-9_-]*[ ]*[a-zA-Z0-9_-]*
其实就是匹配
-rwxr-xr-x 1
[a-zA-Z0-9_-]* 匹配 -rwxr-xr-x
[\t ]* 匹配中间的whitespace
[a-zA-Z0-9_-]* 匹配 1
然后用match来赋值RLENGTH,在用substr取出需要的部分
我相信还有其他更好的方法,我这个比较呆板,个人觉得 |
|