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

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

Chinaunix

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

新人求教--- =~的用法 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-09-02 16:17 |只看該作者 |倒序?yàn)g覽
本帖最后由 justagain 于 2010-09-02 20:30 編輯

大家好,也許這個(gè)是挺小白的問題,但是我還是不明所以,能否教教我? 謝謝。

書中提起= ~的用法時(shí),說此運(yùn)算符并不進(jìn)行賦值,它只是取出右邊的運(yùn)算符,并使它對(duì)左邊的變量進(jìn)行操作。整個(gè)表達(dá)式擁有的值與使用$ _時(shí)所擁有的值是相同的。
然后給了一個(gè)例子,問下面這個(gè)代碼運(yùn)行后,$2(用于第二組括號(hào))中的值是什么?
$foo =“Star Wars: The Phantom Menace;"
$foo = ~/Star\s ((Wars): The Phantom Menace; )/
a. 模式匹配后$ 2沒有被設(shè)置,因?yàn)槠ヅ涫 ?br /> b. Wars
c. Wars:The Phantom Menace

答案是a。匹配失敗是因?yàn)閟tar沒有使用大寫,同時(shí),匹配代碼不包含區(qū)分大小寫字母的修飾符i。由于這個(gè)原因,你始終都應(yīng)該在使用$1、$2等之前測(cè)試匹配代碼運(yùn)行是否成功。(如果模式匹配使用了i修飾符,或者star已經(jīng)變成大寫字母,那么選擇b就可以得到正確的結(jié)果。)

我不是很明白,看了相關(guān)的文檔也還是迷糊著,請(qǐng)幫我看看吧,謝謝。

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2010-09-02 16:37 |只看該作者
沒有匹配·當(dāng)然是沒賦值給$2啦~

論壇徽章:
1
申猴
日期:2014-04-18 16:29:14
3 [報(bào)告]
發(fā)表于 2010-09-02 16:40 |只看該作者
?就是正則匹配啊,lz想問什么?

論壇徽章:
78
雙子座
日期:2013-10-15 08:50:09天秤座
日期:2013-10-16 18:02:08白羊座
日期:2013-10-18 13:35:33天蝎座
日期:2013-10-18 13:37:06獅子座
日期:2013-10-18 13:40:31雙子座
日期:2013-10-22 13:58:42戌狗
日期:2013-10-22 18:50:04CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:34巨蟹座
日期:2013-10-24 17:14:56處女座
日期:2013-10-24 17:15:30雙子座
日期:2013-10-25 13:49:39午馬
日期:2013-10-28 15:02:15
4 [報(bào)告]
發(fā)表于 2010-09-02 17:51 |只看該作者
star都是大寫怎么會(huì)沒有匹配呢?

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2010-09-02 17:54 |只看該作者
新人進(jìn)來學(xué)習(xí)一下!

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2010-09-02 20:40 |只看該作者
沒有匹配·當(dāng)然是沒賦值給$2啦~
wfnh 發(fā)表于 2010-09-02 16:37


$foo =“Star Wars: The Phantom Menace;"
$foo = ~/Star\s ((Wars): The Phantom Menace; )/
a. 模式匹配后$ 2沒有被設(shè)置,因?yàn)槠ヅ涫 ?br /> b. Wars
c. Wars:The Phantom Menace
沒有匹配,失敗原因是因?yàn)閟tar沒有使用大寫。
為什么? 這里的Star的首字母不是已經(jīng)大寫了么?
在使用$1、$2等之前測(cè)試匹配代碼運(yùn)行是否成功。
/Star\s ((Wars): The Phantom Menace; )
第一處\s是匹配一個(gè)白空間字符,對(duì)吧?
為什么后面不使用了了?
而且,和star是否變成大寫字母有什么關(guān)聯(lián)?

我還是不明白。求解。

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
7 [報(bào)告]
發(fā)表于 2010-09-02 23:16 |只看該作者
沒匹配是因?yàn)?br /> 1.第二行你 Menace; 后面和 ) 之間有個(gè)空格
2.第二行你的模式匹配符寫錯(cuò)了 應(yīng)該是 =~ 中間沒有空格的
3.第二行你的 \s 后面還有個(gè)空格顯然應(yīng)該匹配兩個(gè)空格,所以你這個(gè)匹配失敗

正確代碼應(yīng)該是:
my $foo = "Star Wars: The Phantom Menace;";
$foo =~/Star\s((Wars): The Phantom Menace;)/;
say $1;
say $2;

這樣會(huì)匹配成功, $1 包含的是第一個(gè)左括號(hào)匹配的內(nèi)容,$2 包含的是第二個(gè)左括號(hào)匹配的內(nèi)容,所以輸出為
Wars: The Phantom Menace;
Wars
您需要登錄后才可以回帖 登錄 | 注冊(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ū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP