*群组讨论--正则表达式*

来源:互联网 发布:apache http server 编辑:程序博客网 时间:2024/05/16 09:37

今天在群里面看到有人问到http://[^/]*(\.)?jj831\.com.*$但是不晓得具体什么意思,然后群里的大哥们帮忙解答了,我也凑个热闹,重拾之间的记忆~

要点一:[^]作用是取反,所以[^/]就是非/

[^2]就是非2的所有字符,那么^[^2]就是行首还是非2的字符

区别:[^] 和[ ]的区别,一个是非,一个是或,也就是选择的意思,下面为例。

[234]就代表2或3或4

要点二*(\.)?问号之前的任意字符可有可无

\.是转义,就是一个点号

( )选择结构

?表示重复一次或者零次

如果没有?就不能匹配到 jj831.com

比如说:匹配到的网址:
http://www.jj831.com/weisheng/
http://np.jj831.com/
http://jj831.com/sp/
http://ent.jj831.com/

例子:
cat temp.file3 |grep "app[^-]"这个是只匹配app*【注意:app后面必须有内容,但是app后面不能紧跟-
中括号的^表示的是的意思~

ps:

array=`echo app-mds-console.war|sed -e 's/[-_]/ /g' | awk -F . '{print $1}'`

echo $array

执行结果:

app mds console

另外还有个问题:

问一下啊,如果有1000个人同时下载,每个人下载速度100K,保守需要多少M带宽?
128k=1M

(1000*100)/8/128=97M