亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 我常用的正則表達(dá)式 [打印本頁(yè)]

作者: admirer    時(shí)間: 2003-10-28 21:36
標(biāo)題: 我常用的正則表達(dá)式
匹配html的嵌入代碼
  1. <[^>]*>
復(fù)制代碼


匹配[....]的嵌入碼
  1. \[[^]]\{1,\}\]
復(fù)制代碼


刪除僅由空字符組成的行
  1. sed '/^[[:space:]]*$/d' filename
復(fù)制代碼


匹配html標(biāo)簽
  1. /\(<[^>]*>\)/
復(fù)制代碼
例如:從html文件中剔除html標(biāo)簽
  1. sed 's/\(<[^>]*>\)//g;/^[[:space:]]*$/d'  file.html
復(fù)制代碼


例如:要從下列代碼中去除"[]"及其中包括的代碼
  1. [b:4c6c2a6554][color=red:4c6c2a6554]一. 替換[/color:4c6c2a6554][/b:4c6c2a6554]
  2. sed 's/\[[^]]\{1,\}\]//g' filename
復(fù)制代碼


匹配日期:
  1. Month, Day, Year [A-Z][a-z]\{3,9\}, [0-9]\{1,2\}, [0-9]\{4\}
  2. 2003-01-28 或 2003.10.18 或 2003/10/10 或 2003 10 10
  3. \([0-9]\{4\}[ /-.][0-2][0-9][ /-.][0-3][0-9]\)
復(fù)制代碼

匹配IP地址
  1. \([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)
  2. \(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\)
復(fù)制代碼


匹配數(shù)字串
  1. [-+]*[0-9]\{1,\} 整數(shù)
  2. [-+]*[0-9]\{1,\}\.[0-9]\{1,\}  浮點(diǎn)數(shù)
復(fù)制代碼


從字串中解析出兩個(gè)子串(前2各字符和后9個(gè)字符)
  1. echo "WeLoveChinaUnix"|sed -e 'H;s/\(..\).*/\1/;x;s/.*\(.\{9\}\)$/\1/;x;G;s/\n/ /'
  2. We ChinaUnix
復(fù)制代碼


分解日期串
  1. echo 20030922|sed 's/\(....\)\(..\)\(..\)/\1 \2 \3/'|read year month day
  2. echo $year $month $day
復(fù)制代碼


文件內(nèi)容倒序輸出
  1. sed '1!G;h;$!d'  oldfile >newfile
復(fù)制代碼

作者: 光明曉仙    時(shí)間: 2003-10-28 21:57
標(biāo)題: 我常用的正則表達(dá)式
收藏..............



俺就是對(duì)表達(dá)式有點(diǎn)暈,總是搞不清楚.........
作者: bjgirl    時(shí)間: 2003-10-28 22:08
標(biāo)題: 我常用的正則表達(dá)式
學(xué)習(xí)~~~
作者: 飛灰橙    時(shí)間: 2003-10-29 07:45
標(biāo)題: 我常用的正則表達(dá)式
有用,斑竹不介意的話俺抄走了
作者: BabyBlue    時(shí)間: 2003-10-29 08:10
標(biāo)題: 我常用的正則表達(dá)式
ha !一大早就被這么好的東東撞了個(gè)大跟頭,高興呀。
正則表達(dá)式,有時(shí)說(shuō)不清楚,但確實(shí)挺有意思的。謝謝斑竹了。
作者: binary    時(shí)間: 2003-10-29 08:45
標(biāo)題: 我常用的正則表達(dá)式
最喜歡有人做總結(jié)歸納了

謝謝!
作者: sunkey    時(shí)間: 2003-10-29 09:53
標(biāo)題: 我常用的正則表達(dá)式
太好了~~ admirer就是活雷鋒~~ 哈~ :)

     既然提出來(lái)了,大家都把自己經(jīng)常用的或者需要用的正則表達(dá)式
     列出來(lái)啊~!

      偶狗尾續(xù)貂來(lái)一個(gè):

      科學(xué)表達(dá)式:  [+-]?([0-9]+[.]?[0-9]*|[.][0-9]+)([eE][+-]?[0-9]+)? $

      2.9e-15
      100e+3
      0.23E19
作者: sunkey    時(shí)間: 2003-10-29 10:06
標(biāo)題: 我常用的正則表達(dá)式
還有啊,怎么匹配字節(jié)數(shù)?
  比如  234,000
          12,323K
           200M
           ..........
作者: sunkey    時(shí)間: 2003-10-29 10:56
標(biāo)題: 我常用的正則表達(dá)式
例如:要從下列代碼中去除"[]"及其中包括的代碼
代碼:
一. 替換
sed 's/\[[^]]\{1,\}\]//g' filename


  如果出現(xiàn)[] 的匹配,將[]換成{},如果不是[]的匹配,不改變[符號(hào),但保留其中的內(nèi)容怎么做?
  
  例如 :
           
           hello world ]
       變成:
           {b:4c6c2a6554}{color=red:4c6c2a6554}
            hello world ]
           

                               
                               

作者: Minsic    時(shí)間: 2003-10-29 11:08
標(biāo)題: 我常用的正則表達(dá)式
to 樓上..
  1. sed s'/\[\([^]]*\)\]/{\1}/'g filename
復(fù)制代碼

作者: admirer    時(shí)間: 2003-10-29 11:49
標(biāo)題: 我常用的正則表達(dá)式
[quote]原帖由 "Minsic"][/quote 發(fā)表:

good!
作者: cloudxx    時(shí)間: 2003-10-29 12:55
標(biāo)題: 我常用的正則表達(dá)式
一. 替換
sed 's/\[[^]]\{1,\}\]//g' filename


這里的{1,\}不太理解  誰(shuí)可解釋下?
作者: sunkey    時(shí)間: 2003-10-29 13:21
標(biāo)題: 我常用的正則表達(dá)式
[quote]原帖由 "Minsic"][/quote 發(fā)表:


   強(qiáng)~~~~~~
作者: admirer    時(shí)間: 2003-10-29 14:38
標(biāo)題: 我常用的正則表達(dá)式
原帖由 "cloudxx" 發(fā)表:

這里的{1,\}不太理解  誰(shuí)可解釋下?

表示前面的正則表達(dá)式的一個(gè)或多個(gè)組合。
作者: brucewoo    時(shí)間: 2003-10-29 14:58
標(biāo)題: 我常用的正則表達(dá)式
經(jīng)典,真是好東西
作者: 我剛接觸UINX    時(shí)間: 2003-10-29 15:12
標(biāo)題: 我常用的正則表達(dá)式
收藏的說(shuō),   
作者: tiansgx    時(shí)間: 2003-10-29 15:21
標(biāo)題: 我常用的正則表達(dá)式
up
作者: zhangjoto    時(shí)間: 2003-10-29 16:11
標(biāo)題: 我常用的正則表達(dá)式
請(qǐng)教Minsic兄,不知s,g等編輯命令寫(xiě)在單引號(hào)以?xún)?nèi)和單引號(hào)以外,
shell執(zhí)行的時(shí)候究竟會(huì)有什么樣的區(qū)別?
作者: Minsic    時(shí)間: 2003-10-29 16:26
標(biāo)題: 我常用的正則表達(dá)式
有區(qū)別嗎?沒(méi)區(qū)別啊...只是我習(xí)慣寫(xiě)在引號(hào)外邊了..
作者: admirer    時(shí)間: 2003-10-29 17:08
標(biāo)題: 我常用的正則表達(dá)式
是的,只是習(xí)慣問(wèn)題。
作者: microroad    時(shí)間: 2003-10-30 14:34
標(biāo)題: 我常用的正則表達(dá)式
原帖由 "admirer" 發(fā)表:

表示前面的正則表達(dá)式的一個(gè)或多個(gè)組合。

確切的說(shuō){\1}就是指前面“\(”到“\)”之間的“[^]]*”
作者: admirer    時(shí)間: 2003-10-30 14:42
標(biāo)題: 我常用的正則表達(dá)式
[quote]原帖由 "microroad"]確切的說(shuō){\1}就是指前面“\(”到“\)”之間的“[^]]*” [/quote 發(fā)表:

確切的說(shuō)應(yīng)該是一個(gè)或多個(gè)組合,因?yàn)槿思覇?wèn)的是\{1,\}e而不是\{1\}的含義。
作者: Minsic    時(shí)間: 2003-10-30 14:45
標(biāo)題: 我常用的正則表達(dá)式
樓上的microroad,那位朋友問(wèn)的應(yīng)該是\{1,\}這樣的正則表達(dá)式的意思,而不是{\1}這樣的位于替換部分的字符串吧
作者: seacaptain    時(shí)間: 2003-10-30 16:58
標(biāo)題: 我常用的正則表達(dá)式
老大
echo 20030922|sed 's/\(....\)\(..\)\(..\)/\1 \2 \3/'|read year month day
echo $year $month $day
這個(gè)代碼執(zhí)行沒(méi)有任何結(jié)果???
作者: admirer    時(shí)間: 2003-10-30 17:26
標(biāo)題: 我常用的正則表達(dá)式
原帖由 "seacaptain" 發(fā)表:
老大
echo 20030922|sed 's/\(....\)\(..\)\(..\)/\1 \2 \3/'|read year month day
echo $year $month $day
這個(gè)代碼執(zhí)行沒(méi)有任何結(jié)果???

你是什么OS?
echo 20030922|sed 's/\(....\)\(..\)\(..\)/\1 \2 \3/'有輸出嗎?
作者: gunguymadman007    時(shí)間: 2003-11-03 12:52
標(biāo)題: 我常用的正則表達(dá)式
原帖由 "admirer" 發(fā)表:
文件內(nèi)容倒序輸出
代碼:
sed '1!G;h;$!d'  oldfile >newfile
誰(shuí)能幫忙解釋一下1!
                                    G
                                    h
                                    d
各是什么意思啊
作者: admirer    時(shí)間: 2003-11-03 12:59
標(biāo)題: 我常用的正則表達(dá)式
【本版精華集錦】中有sed的學(xué)習(xí)文檔
2.2.2 有那些函數(shù)(function)參數(shù)
下頁(yè)表中介紹所有 sed 的函數(shù)參數(shù)(參照[chapter 4])的功能。
函數(shù)參數(shù) 功能
: label 建立 script file 內(nèi)指令互相參考的位置。
# 建立解
{ } 集合有相同位址參數(shù)的指令。
! 不執(zhí)行函數(shù)參數(shù)。
= 印出資料行數(shù)( line number )。
a\ 添加使用者輸入的資料。
b label 將執(zhí)行的指令跳至由 : 建立的參考位置。
c\ 以使用者輸入的資料取代資料。
d 刪除資料。
D 刪除 pattern space 內(nèi)第一個(gè) newline 字母 \ 前的資料。
g 拷貝資料從 hold space。
G 添加資料從 hold space 至 pattern space 。
h 拷貝資料從 pattern space 至 hold space 。
H 添加資料從 pattern space 至 hold space 。
l 印出 l 資料中的 nonprinting character 用 ASCII 碼。
i\ 插入添加使用者輸入的資料行。
n 讀入下一筆資料。
N 添加下一筆資料到 pattern space。
p 印出資料。
P 印出 pattern space 內(nèi)第一個(gè) newline 字母 \ 前的資料。
q 跳出 sed 編輯。
r 讀入它檔內(nèi)容。
s 替換字串。
t label 先執(zhí)行一替換的編輯指令 , 如果替換成功,則將編輯指令跳至 : label 處執(zhí)行。
w 寫(xiě)資料到它檔內(nèi)。
x 交換 hold space 與 pattern space 內(nèi)容。
y 轉(zhuǎn)換(transform)字元。

作者: gunguymadman007    時(shí)間: 2003-11-03 14:20
標(biāo)題: 我常用的正則表達(dá)式
多謝多謝
作者: zhangpiwang    時(shí)間: 2004-03-11 03:47
標(biāo)題: 我常用的正則表達(dá)式
echo $1
x=-30
while [ "$x" -lt 0 ]
do
echo $x
x=`expr $x + 1`
a=` cat $1 | grep '$x' | wc -l `
for k in $a
do
echo $k
done
done

grep 的模式里邊能不能引用變量啊?我試驗(yàn)了一下,不可以啊?
作者: xinchill    時(shí)間: 2004-04-27 21:33
標(biāo)題: 我常用的正則表達(dá)式
我需要知道的太多了。。好多要學(xué)習(xí)的啊
作者: ttqiuzhi    時(shí)間: 2005-03-03 17:20
標(biāo)題: 我常用的正則表達(dá)式
[quote]原帖由 "admirer"]雎穡縖/quote 發(fā)表:

試試以下的吧!
echo 20030922|sed 's/\(....\)\(..\)\(..\)/\1 \2 \3/'| tee read year month day
echo $year $month $day
作者: chinamyrice    時(shí)間: 2006-03-27 10:52
樓上你的第二條命令有輸出么?我的怎么沒(méi)有
第一條倒是有
2003 09 22


OS:turbo linux
作者: waker    時(shí)間: 2006-03-27 11:04
to chinamyrice
如果你用 ksh可以
但在bash中是很不到變量的
有興趣可讀置頂13問(wèn)中關(guān)于 subshell的討論

[ 本帖最后由 waker 于 2006-3-27 11:07 編輯 ]
作者: xxjoyjn    時(shí)間: 2006-03-27 12:45
強(qiáng)啊,努力學(xué)習(xí)中。
作者: liqix    時(shí)間: 2006-11-14 20:03
I just know a foolish method:
echo 'WeLoveChinaUnix' |sed -n 's/\([A-Z][a-z]*\)\([A-Z][a-z]*\)\([A-Z][a-z]*\)/\1 \2 \3/p'
作者: 納蘭婷    時(shí)間: 2006-11-14 21:40
學(xué)習(xí)ing
作者: awk就是awp加ak    時(shí)間: 2006-11-15 08:38
婷婷
作者: jieyancai    時(shí)間: 2006-11-15 08:53
收藏!
作者: jcool    時(shí)間: 2007-12-03 16:02
呵呵 現(xiàn)在看還有點(diǎn)復(fù)雜,等偶看一段時(shí)間基礎(chǔ)再說(shuō)〉。。
作者: xiaoguoru    時(shí)間: 2008-01-13 17:36
學(xué)習(xí)...
作者: WinnerBoy    時(shí)間: 2008-01-23 14:17
[-+]*[0-9]\{1,\} 整數(shù)
[-+]*[0-9]\{1,\}\.[0-9]\{1,\}  浮點(diǎn)數(shù)

不精確。
比如上面的整數(shù)能匹配  +++46466, +-779323等
作者: WinnerBoy    時(shí)間: 2008-01-23 14:22
應(yīng)該這么寫(xiě):
^[-+]\{0,1\}[0-9]\{1,\}

例如:
echo +4279429 | grep '^[-+]\{0,1\}[0-9]\{1,\}'   
+4279429

echo +-4279429 | grep '^[-+]\{0,1\}[0-9]\{1,\}'




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2