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

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

Chinaunix

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

請(qǐng)教個(gè)匹配的問(wèn)題。 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-12-25 06:56 |只看該作者 |倒序?yàn)g覽
$line="\n";
if ($line =~ /^.*$/) {print "yes";}
# 顯示yes.

請(qǐng)問(wèn)這個(gè)是為什么? . 句號(hào)不是不能匹配 “\n" 嗎? 多謝。

另外

$line="a\n";
if ($line =~ /^.*$/) {print "yes";}
# 顯示yes.

$line="\nb";
if ($line =~ /^.*$/) {print "yes";}
# 沒(méi)有顯示.

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2011-12-25 08:05 |只看該作者
本帖最后由 alexru 于 2011-12-25 08:07 編輯
  1. #!/opt/local/bin/perl5.14
  2. use strict;
  3. use warnings;

  4. my $line="\nb";
  5. if($line=~/^.*$/){
  6.         print "yes";
  7. }else{
  8.         print "no";
  9. }
復(fù)制代碼
alexrudemacbookairocuments alexru$ perl test.pl
no
  1. #!/opt/local/bin/perl5.14
  2. use strict;
  3. use warnings;

  4. my $line="b\n";
  5. if($line=~/^.*$/m){
  6.         print "yes";
  7. }else{
  8.         print "no";
  9. }
復(fù)制代碼
alexrudemacbookairocuments alexru$ perl test.pl
yes
沒(méi)有顯示好像可跨行匹配有關(guān)系

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2011-12-26 12:36 |只看該作者
本帖最后由 羲之遺韻 于 2011-12-26 13:01 編輯

因?yàn)槟愕膒attern是/^.*$/
這相當(dāng)于匹配包含0個(gè)或多個(gè)字符(不包括\n)的行,所以當(dāng)然能匹配\n了。因?yàn)閈n是包含0個(gè)字符的行
但是\nb則不行,因?yàn)橐診n開(kāi)頭了,那么后面不能再有其他字符。因?yàn)槟J(rèn)情況下不能跨行匹配。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2011-12-26 22:07 |只看該作者
本帖最后由 kk861123 于 2011-12-26 22:13 編輯
羲之遺韻 發(fā)表于 2011-12-26 12:36
因?yàn)槟愕膒attern是/^.*$/
這相當(dāng)于匹配包含0個(gè)或多個(gè)字符(不包括\n)的行,所以當(dāng)然能匹配\n了。因?yàn)閈n是 ...
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;

  4. my $line = "a\n";
  5. if ($line =~ /^.$/) {print "yes"}
復(fù)制代碼
打。簓es。這個(gè)怎么解釋,也在迷惑中...不是使用了m修飾詞才可以令'^'和'$'匹配到'\n'嗎?像這樣:
  1. $line =~ /^.$/m
復(fù)制代碼

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2011-12-27 09:12 |只看該作者
本帖最后由 羲之遺韻 于 2011-12-27 09:34 編輯

因?yàn)?能匹配a吧,不使用/m,$也能匹配到\n

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2011-12-27 09:26 |只看該作者
還有一個(gè)問(wèn)題需要說(shuō)明,那就是$也能匹配\n 估計(jì)你是忽略了這一點(diǎn)。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2011-12-28 17:50 |只看該作者
羲之遺韻 發(fā)表于 2011-12-27 09:26
還有一個(gè)問(wèn)題需要說(shuō)明,那就是$也能匹配\n 估計(jì)你是忽略了這一點(diǎn)。


1. "\nb"可不可認(rèn)為是一個(gè)空行加一個(gè)b? 那么/^.*$/ 為什么不能match 那個(gè)空行? 就像能match "\n"
2. 你說(shuō) $ 能 match \n 具體是指什么。

多謝指點(diǎn)。

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2011-12-29 08:52 |只看該作者
hs3605306 發(fā)表于 2011-12-28 17:50
1. "\nb"可不可認(rèn)為是一個(gè)空行加一個(gè)b? 那么/^.*$/ 為什么不能match 那個(gè)空行? 就像能match "\n"
2.  ...


1. /^.*$/ 可以match \n, 但是b無(wú)法match, 因?yàn)槟J(rèn)情況不能跨行匹配,\nb相當(dāng)于兩行.
2. 沒(méi)什么好說(shuō)的,這是規(guī)定。見(jiàn)Perl語(yǔ)言入門(mén),132頁(yè),注6。

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2011-12-29 09:59 |只看該作者
回復(fù) 8# 羲之遺韻


    我是這樣理解的,如果有flag /m, (比如  /^.*$/m), 那么可以match 一個(gè)string 中間含有\(zhòng)n ( 比如 "a\nb")
如果沒(méi)有 flag /m, 那么 \n 必須不存在或者在string 的最后。

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2011-12-29 10:06 |只看該作者
hs3605306 發(fā)表于 2011-12-29 09:59
回復(fù) 8# 羲之遺韻

恩,應(yīng)該是這樣的。另外用 /s也可以,這樣.就可以匹配換行符\n了。
您需要登錄后才可以回帖 登錄 | 注冊(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