Chinaunix
标题:
正则求解
[打印本页]
作者:
mir620
时间:
2013-05-18 10:14
标题:
正则求解
SR5S1:/opt/osmu/script/tools # echo 010 |grep "[^0]" |grep "^[0-9]\{1,\}$" (为什么已0开头也显示了,我加了以grep "[^0]")
010
SR5S1:/opt/osmu/script/tools #
SR5S1:/opt/osmu/script/tools # echo 10 |grep "[^0]" |grep "^[0-9]\{1,\}$"
10
SR5S1:/opt/osmu/script/tools #
其实我的目的就是不可以以0开头,但是可以是20、10
作者:
2008431
时间:
2013-05-18 11:13
grep '^[1-9]0' file14
复制代码
是这样吗
作者:
CyyKing
时间:
2013-05-18 11:14
echo 010|grep "^[^0]"
作者:
lilanhao5566
时间:
2013-05-18 11:46
echo 010 |grep "^[^0]" |grep "^[0-9]\{1,\}$"
或者
echo 010 |grep -v "^0" |grep "^[0-9]\{1,\}$"
作者:
zooyo
时间:
2013-05-18 14:29
提示:
作者被禁止或删除 内容自动屏蔽
作者:
dn833
时间:
2013-05-20 08:59
^(?!0).*$
复制代码
作者:
Shell_HAT
时间:
2013-05-20 09:07
^在不同的地方表达的意思也不同:
1、"[^0]",在方括号里面,表示对该集合取反。
2、"^[0-9]",在方括号左边,表示已某个字符串开头的行。
具体到你顶楼的两个命令,"[^0]"表示非零的字符。
实际上它没有起到任何作用,因为1是符合“非零”这个条件的
作者:
惟吾无为
时间:
2013-05-20 12:14
非0开头的数字。至少1位么?至少两位把*换成\+。
echo 010 | grep "^[1-9][0-9]*$"
复制代码
作者:
yuloveban
时间:
2013-05-20 12:50
回复
1#
mir620
grep "[^0]" 改成 grep "^[^0]" 就可以啦
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2