免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1449 | 回复: 2
打印 上一主题 下一主题

怎么理解这个正则表达式 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-26 20:00 |只看该作者 |倒序浏览
下面是一个数据文件,每行表示一个点的坐标;每行三列,第一列是序号,不用管,后两列是点的(x,y)坐标
想把各点用线连接起来用metapost做图。

别人告诉我用vi的替换命令:%s/\(^[0-9]\+\)\(\s\+\)\([0-9.-]\+\)\(\s\+\)\([0-9.-]\+\)/(\3,\5)--/g
替换得到draw的命令参数(列在后面)
然后各行用gqap连接起来。

请问:
1) 怎么理解上面的替换命令,正则表达式?
2) 如果每个坐标后面加上*u两个字符,得到比如:(0.841130*u,0.254726*u)--
      这个该怎么写上面的正则表达式?
3)gqap怎么用?

谢谢!


0    0.841130    0.254726
1    1.644062    0.168044
2    2.434947    -0.406185
3    3.088262    -0.197379
4    2.639761    0.024179
5    3.454527    0.102938
6    3.491735    -0.205095
7    2.720341    0.093598
8    2.780754    -0.842017
9    2.434694    -0.575153
10    1.671620    -1.142952
11    2.114402    -1.543020
12    3.021356    -1.668744
13    2.039178    -1.819724
14    2.706346    -1.136831
15    2.721989    -0.396795
16    1.832811    -0.463365
17    0.961477    -0.371325
18    1.122947    0.019999
19    0.358031    0.112808
20    0.503432    -0.736290
21    0.489663    0.238449
22    0.872278    1.121922
23    1.025915    0.569653
------------------------------------
(0.841130,0.254726)--
(1.644062,0.168044)--
(2.434947,-0.406185)--
(3.088262,-0.197379)--
(2.639761,0.024179)--
(3.454527,0.10293--
(3.491735,-0.205095)--
(2.720341,0.09359--
(2.780754,-0.842017)--
(2.434694,-0.575153)--
(1.671620,-1.142952)--
(2.114402,-1.543020)--
(3.021356,-1.668744)--
(2.039178,-1.819724)--
(2.706346,-1.136831)--
(2.721989,-0.396795)--
(1.832811,-0.463365)--
(0.961477,-0.371325)--
(1.122947,0.019999)--
(0.358031,0.11280--
(0.503432,-0.736290)--
(0.489663,0.238449)--
(0.872278,1.121922)--

论坛徽章:
0
2 [报告]
发表于 2008-06-26 21:36 |只看该作者
1、正则的替换,五个(),然后用3和5替换
2、%s/\(^[0-9]\+\)\(\s\+\)\([0-9.-]\+\)\(\s\+\)\([0-9.-]\+\)/(\3*u,\5*u)--/g
3、gqap没有过,等其他高手回答

论坛徽章:
0
3 [报告]
发表于 2008-06-26 23:30 |只看该作者
原帖由 无声无息 于 2008-6-26 21:36 发表
1、正则的替换,五个(),然后用3和5替换
2、%s/\(^[0-9]\+\)\(\s\+\)\([0-9.-]\+\)\(\s\+\)\([0-9.-]\+\)/(\3*u,\5*u)--/g
3、gqap没有过,等其他高手回答


多谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP