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

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

Chinaunix

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

關(guān)于split 的捕獲括號(hào),理解不能 請(qǐng)教下老司機(jī) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2014-11-16 19:28 |只看該作者 |倒序?yàn)g覽
As with regular pattern matching, any capturing parentheses
that are not matched in a "split()" will be set to "undef" when
returned:

       @fields = split /(A)|B/, "1A2B3";
       # @fields is (1, 'A', 2, undef, 3)

在split的man文檔最后有這樣一段話,簡(jiǎn)單翻譯下:作為正則表達(dá)式匹配,
任何在split()中沒(méi)有匹配的捕獲括號(hào),將會(huì)被設(shè)成undef,然后返回。這個(gè)東西
是怎么理解的?

這是我實(shí)驗(yàn)的結(jié)果,哪位老司機(jī)能指點(diǎn)下,多謝!
Administrator@SWYWXQ1DHSU3MJ6 ~
$  perl -e '@fields = split /(A)|B/, "1A2B3"; print join "--", @fields'
1--A--2----3
Administrator@SWYWXQ1DHSU3MJ6 ~
$ perl -e '@fields = split /(A)|(B)|C/, "1A2BC3"; print join "--", @fields'
1--A----2----B--------3

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
2 [報(bào)告]
發(fā)表于 2014-11-16 20:13 |只看該作者
回復(fù) 1# 45177659

1. without capture
$ perl -le '@fields = split /A|B|C/, "1A2B3C4"; print join ",", @fields'
1,2,3,4

2. capture together
$ perl -le '@fields = split /(A|B|C)/, "1A2B3C4"; print join ",", @fields'
1,A,2,B,3,C,4

usually, we don't use follow ways:
$ perl -le '@fields = split /(A)|B|C/, "1A2B3C4"; print join ",", @fields'
1,A,2,,3,,4

$ perl -le '@fields = split /A|(B)|C/, "1A2B3C4"; print join ",", @fields'
1,,2,B,3,,4

$ perl -le '@fields = split /A|B|(C)/, "1A2B3C4"; print join ",", @fields'
1,,2,,3,C,4

$ perl -le '@fields = split /(A)|(B)|C/, "1A2B3C4"; print join ",", @fields'
1,A,,2,,B,3,,,4

$ perl -le '@fields = split /(A)|(B)|(C)/, "1A2B3C4"; print join ",", @fields'
1,A,,,2,,B,,3,,,C,4

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2014-11-16 20:23 |只看該作者
回復(fù) 2# jason680

i see! thanks


   

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
4 [報(bào)告]
發(fā)表于 2014-11-17 11:09 |只看該作者
本帖最后由 flw 于 2014-11-19 10:22 編輯

轉(zhuǎn)載一下。
  1. 發(fā)信人: flw (還沒(méi)想好), 信區(qū): Perl
  2. 標(biāo)  題: Re: 不得不說(shuō),perl太需要記憶了
  3. 發(fā)信站: 水木社區(qū) (Thu Jul  5 23:06:32 2012), 轉(zhuǎn)信

  4. 這個(gè)就是捕獲的意思。

  5. @F = split $R, $S 類似于下面的代碼(不論帶不帶括號(hào)、哪里帶括號(hào)、帶幾個(gè)括號(hào)):

  6. while( @s = $S =~ $R ){
  7.     push @F, 轉(zhuǎn)載一下。;
  8.     push @F, @s;
  9.     $S = ;
  10. }

  11. push @F, $S;

  12. 由此可見(jiàn),split 里的正則表達(dá)式捕獲和普通的正則表達(dá)式捕獲用法是完全一致的。

  13. 【 在 arp (@arp) 的大作中提到: 】
  14. : 怎么一樣啊。
  15. : 明顯不一樣啊。
  16. : ()在正則表達(dá)式捕獲里面是group
  17. : ()在這里哪里有g(shù)roup的意思啊?
復(fù)制代碼

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2014-11-18 18:49 |只看該作者
回復(fù) 4# flw

    push @F, 轉(zhuǎn)載一下。;
    push @F, @s;
    $S = ;


有點(diǎn)看不懂啊,沒(méi)抄錯(cuò)吧 版主
   

論壇徽章:
1
獅子座
日期:2014-02-25 09:46:33
6 [報(bào)告]
發(fā)表于 2014-11-19 09:40 |只看該作者
跟著大神學(xué)代碼~~~回復(fù) 2# jason680


   

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
7 [報(bào)告]
發(fā)表于 2014-11-19 10:22 |只看該作者
尼瑪,不知道怎么觸發(fā)了論壇的隱藏功能,
我編輯了還是改不過(guò)來(lái)。

看這里吧:

http://www.newsmth.net/bbscon.php?bid=226&id=61643

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
8 [報(bào)告]
發(fā)表于 2014-11-19 10:51 |只看該作者
@flw @45177659

  這個(gè)就是捕獲的意思。

@F = split $R, $S 類似于下面的代碼(不論帶不帶括號(hào)、哪里帶括號(hào)、帶幾個(gè)括號(hào)):

while( @s = $S =~ $R ){
    push @F, $`;
    push @F, @s;
    $S = $';
}

push @F, $S;

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2014-11-20 20:00 |只看該作者
回復(fù) 8# jason680

有理有據(jù),令人信服!:wink:

   
您需要登錄后才可以回帖 登錄 | 注冊(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)專區(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