前端之家收集整理的这篇文章主要介绍了
正则表达式 – sed错误“无效范围结束”,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Ubuntu 12.04上运行此替换命令.
$sed -e "s/([a-zA-Z0-9.-/\\ :]+)/\1/g"
@H_
502_3@但是,会引发以下
错误.
@H_502_3@sed: -e expression #1,char 27: Invalid range end
@H_
502_3@我记得同样的表达式适用于MacOSX.
你能描述命令失败的原因吗?
你可以用两种方式
解决它.其中一个是使用-r开关来避免转义特殊字符并移动 – 在第一个或最后一个位置的范围内并避免其特殊含义,它将是:
sed -re "s/([a-zA-Z0-9./\\ :-]+)/\1/g"
@H_
502_3@否则你将需要转义(,)和,如:
sed -e "s/\([a-zA-Z0-9./\\ :-]\+\)/\1/g"