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

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
查看: 4983 | 回復(fù): 18
打印 上一主題 下一主題

1,$s/\(.*\) \(.*\)/$2--$1/g [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-12-02 22:02 |只看該作者 |倒序?yàn)g覽
10可用積分
abcde  ABCED
beijing  BEIJING


如果運(yùn)行如下命令:
1,$s/\(.*\) \(.*\)/\2--\1/g

則結(jié)果為:

ABCED--abcde
BEIJING--beijing


請(qǐng)哪位能幫我具體解釋一下這個(gè)正則表達(dá)式嗎?謝謝!

最佳答案

查看完整內(nèi)容

天啊,這就10分,我來(lái)吧\(.*\) \(.*\).表示任意字符,*表示任意多個(gè)前面的字符,包括零個(gè)(注意有貪婪性,就是有多少吃多少,只要符合條件)\(.*\)是將括號(hào)里面的用標(biāo)簽標(biāo)記起來(lái),按出現(xiàn)的順序依次為1,2,3...,可以用\1,\2...來(lái)提取所以\(.*\) \(.*\)就表示,"幾個(gè)任意字符"+"一個(gè)空格"+"幾個(gè)字符"的形式字符串,而1,$s/\(.*\) \(.*\)/\2--\1/g這句sed語(yǔ)句就是將1行到結(jié)束行的,符合上述條件的字符串,替換成"第二段字符"--"第一段 ...

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2009-12-02 22:02 |只看該作者
天啊,這就10分,我來(lái)吧
\(.*\) \(.*\)
.表示任意字符,
*表示任意多個(gè)前面的字符,包括零個(gè)(注意有貪婪性,就是有多少吃多少,只要符合條件)
\(.*\)是將括號(hào)里面的用標(biāo)簽標(biāo)記起來(lái),按出現(xiàn)的順序依次為1,2,3...,可以用\1,\2...來(lái)提取
所以\(.*\) \(.*\)就表示,"幾個(gè)任意字符"+"一個(gè)空格"+"幾個(gè)字符"的形式字符串,
而1,$s/\(.*\) \(.*\)/\2--\1/g這句sed語(yǔ)句就是將1行到結(jié)束行的,符合上述條件的字符串,替換成"第二段字符"--"第一段字符"的形式

明白沒(méi)?

[ 本帖最后由 haimming 于 2009-12-2 22:12 編輯 ]

論壇徽章:
1
榮譽(yù)會(huì)員
日期:2011-11-23 16:44:17
3 [報(bào)告]
發(fā)表于 2009-12-02 22:14 |只看該作者

回復(fù) #1 reneyangs 的帖子


  1. 1,$s/\(.*\) \(.*\)/\2--\1/g

  2. 1,$ 表示第一行到最后一行,可以省去
  3. s/
  4. \(.*\) \(.*\) 括號(hào)需要“\”來(lái)轉(zhuǎn)義,實(shí)際就是(.*) (.*),對(duì)于第一行abcde ABCED來(lái)說(shuō)就是(abcde) (ABCED),那么\1就是abcde,\2就是ABCED
  5. /\2--\1/g
復(fù)制代碼

論壇徽章:
1
榮譽(yù)會(huì)員
日期:2011-11-23 16:44:17
4 [報(bào)告]
發(fā)表于 2009-12-02 22:15 |只看該作者

回復(fù) #2 haimming 的帖子

你好快啊

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2009-12-02 22:16 |只看該作者

回復(fù) #2 haimming 的帖子

那我如果要匹配(,不是也需要加一個(gè)\(的么?
這兩種如何區(qū)分?

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亞洲杯之朝鮮
日期:2015-03-13 22:47:33IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-09 06:20:00IT運(yùn)維版塊每周發(fā)帖之星
日期:2016-03-07 16:27:44
6 [報(bào)告]
發(fā)表于 2009-12-02 22:17 |只看該作者
原帖由 haimming 于 2009-12-2 22:10 發(fā)表
天啊,這就10分,我來(lái)吧



論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2009-12-02 22:25 |只看該作者

回復(fù) #5 reneyangs 的帖子

這要看sed了,如果sed加了-r參數(shù),可以像beginner-bj 說(shuō)的那樣
sed -r 's/(.*) (.*)/\2--\1/g',而這里要匹配"("和")"是要轉(zhuǎn)義的
相反,如果不加就要寫(xiě)成sed 's/\(.*\) \(.*\)/\2--\1/g',這時(shí)匹配"("和")"是不需要轉(zhuǎn)義,直接來(lái)就是
[rockfall@Rocfall ~/tmp/sh/A]$echo "a(b"|sed 's/(/--/'
a--b
[rockfall@Rocfall ~/tmp/sh/A]$echo "a(b"|sed -r 's/(/--/'
sed: -e expression #1, char 7: Unmatched ( or \(
[rockfall@Rocfall ~/tmp/sh/A]$echo "a(b"|sed -r 's/\(/--/'
a--b

[ 本帖最后由 haimming 于 2009-12-2 22:35 編輯 ]

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2009-12-02 22:36 |只看該作者

回復(fù) #7 haimming 的帖子

那我如果在vi命令模式下,使用 :1,$s/(.*) (.*)/\2--\1/g,似乎不行?

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2009-12-02 22:49 |只看該作者

回復(fù) #8 reneyangs 的帖子

vi里應(yīng)該用你第一種的形式,
不過(guò)估計(jì)也能設(shè)置成這種,沒(méi)怎么用vi不會(huì)

論壇徽章:
1
榮譽(yù)會(huì)員
日期:2011-11-23 16:44:17
10 [報(bào)告]
發(fā)表于 2009-12-02 22:50 |只看該作者
原帖由 haimming 于 2009-12-2 22:10 發(fā)表
天啊,這就10分,我來(lái)吧
\(.*\) \(.*\)
.表示任意字符,
*表示任意多個(gè)前面的字符,包括零個(gè)(注意有貪婪性,就是有多少吃多少,只要符合條件)
\(.*\)是將括號(hào)里面的用標(biāo)簽標(biāo)記起來(lái),按出現(xiàn)的順序依次為1,2, ...

哈哈, 這10分好掙8?
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP