中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 关于sed替换命令的疑问。 上一主题 | 下一主题
zsc37201
新手上路





积分 12
发帖 12
注册 2010-6-26
状态 离线
『楼 主』:  关于sed替换命令的疑问。

@echo off echo I love sed. |sed "s#[A-Za-z]*#&,#g" 预期目的是在每个单词后加上逗号。 即I, love, sed,. 可是实际结果是: I, love, sed,., , 它在.和空格后也加上了逗号,不知是为什么? .和空格按说不匹配[A-Za-z]*呀?


2010-8-2 16:56
查看资料  发短消息  网志   编辑帖子  回复  引用回复
fsfss
初级用户





积分 22
发帖 20
注册 2009-7-6
状态 离线
『第 2 楼』:  

echo I love sed. |sed "s#[A-Za-z]\{1,\}#&,#g"


2010-8-2 17:15
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zsc37201
新手上路





积分 12
发帖 12
注册 2010-6-26
状态 离线
『第 3 楼』:  

谢谢你的回答,原来是*号是零到多个,忘记了。 我又有一个新的问题,就大侠回答一下,为什么最后句点后的空格匹配,而I、love、sed间的那两个空格为什么不匹配。 `a*b' Matches zero or more `a's followed by a single `b'. For example, `b' or `aaaaab'. 上面好理解 但是,a*(只有a*,后面没有b)当匹配0个时,该怎么理解,还请不吝赐教。 麻烦大侠回答一下。


2010-8-2 19:20
查看资料  发短消息  网志   编辑帖子  回复  引用回复
fsfss
初级用户





积分 22
发帖 20
注册 2009-7-6
状态 离线
『第 4 楼』:  

这个问题确实令人费解,同等高人回答,按楼上的思路试了下JS和AHK中的正则,结果如下: JS: I,,,,,, love,,,,,, ,,, sed,,,,,,.,,, ,,, AHK: I,, love,, , sed,,., , SED: I, love, sed,., , [ Last edited by fsfss on 2010-8-2 at 20:25 ]


2010-8-2 20:21
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: