Chinaunix

标题: 新手对正则表达式中 | 的疑问 [打印本页]

作者: sunwan    时间: 2005-11-13 09:42
标题: 新手对正则表达式中 | 的疑问
测试:
echo "test" |sed "s/test/ok/g"
输出 ok
echo "test" |sed "s/test|1/ok/g"
则还是 test,即不匹配。
echo "test" |sed "s/(test)|1/ok/g"
这样也不行,双引号改单引号也不行。
到底 | 要怎么用?

[ 本帖最后由 sunwan 于 2005-11-13 09:54 编辑 ]
作者: 寂寞烈火    时间: 2005-11-13 09:55
原帖由 sunwan 于 2005-11-13 09:42 发表
测试:
echo "test" |sed "s/test/ok/g"
输出 ok
echo "test" |sed "s/test|1/ok/g"
则还是 test,即不匹配。
echo "test" |sed "s/(test)|1/ok/ ...

啥意思
作者: sunwan    时间: 2005-11-13 10:18
标题: 回复 2楼 寂寞烈火 的帖子
对正则表达式中 |(or) 的用法,若 |正常工作的话,以下的test应该替换成ok输出。
echo "test" |sed 's/test|1/ok/g'
作者: sunwan    时间: 2005-11-13 10:27
知道原因了:在sed中|要转意
作者: hotness28    时间: 2005-11-13 22:59
聪明




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2