perl學習摘記4

2021-04-01 08:59:04 字數 1079 閱讀 8476

模式匹配由反斜線包含:/def/即模式def

=~檢驗匹配是否成功:$result = $var =~ /abc/;若在該字串中找到了該模式,則返回非零值,即true,不匹配則返回0,即false。!~則相反

模式中的特殊字元 

字元 +

+意味著乙個或多個相同的字元,如:/de+f/指def、deef、deeeeef等。它盡量匹配盡可能多的相同字元

字元 [ ]和[^]

[ ]意味著匹配一組字元中的乙個,如/a[0123456789]c/將匹配a加數字加c的字串。與+聯合使用例:/d[ee]+f/匹配def、def、deef、dedf、deeeeeeeef等。^表示除其之外的所有字元,如:/d[^ee]f/匹配d加非e字元加f的字串。(在[^ee]中,我發現很多資料上都寫成了[^dee],奇怪的是,很多網頁都只是引用了這種錯誤的寫法,比較遺憾)

字元 *和?

它們與+類似,區別在於*匹配0個、1個或多個相同字元,?匹配0個或1個該字元。如/de*f/匹配df、def、deeeef等;/de?f/匹配df或def。

轉義字元

如果你想在模式中包含通常被看作特殊意義的字元,須在其前加斜線"/"。如://*+/中/*即表示字元*,而不是上面提到的乙個或多個字元的含義。

錨模式描述

^ 或 /a

僅匹配串首

$ 或 /z

僅匹配串尾

/b匹配單詞邊界

/b單詞內部匹配

例:/^def/只匹配以def打頭的字串,/$def/只匹配以def結尾的字串,結合起來的/^def$/只匹配字串def(?)。/a和/z在多行匹配時與^和$不同。

匹配任意字元

字元"."匹配除換行外的所有字元,通常與*合用。

匹配指定數目的字元

字元對{}指定所匹配字元的出現次數。如:/def/匹配def,deef和deeef;/def/匹配deeef;/def/匹配不少於3個e在d和f之間;/def/匹配不多於3個e在d和f之間。。

指定選項

字元"|"指定兩個或多個選擇來匹配模式。如:/def|ghi/匹配def或ghi。

perl學習心得(摘記)

要在字串中包含雙引號或反斜線,則在其前加乙個反斜線,反斜線還可以取消變數替換 單引號另乙個特性是可以跨多行,如 text this is two lines of text 與下句等效 text this is two nlines of text n 在perl中,所有的簡單變數都有預設初始值 即...

perl學習 4 子程式

子程式,模擬c語言中的函式,在形式上個人認為最大的區別 沒有形參 usr bin perl sub marine marine marine 所有的perl 子程式都會返回值,在perl 中返回值和不返回值是沒有區別的。當然,不是所有perl子程式返回的值都是有用的。由於所有的被呼叫的子程式都要返回...

OSGi學習摘記

最近在學習osgi框架,這篇部落格就當做學習筆記吧。及時更新。osgi是基於不同classloader載入不同的資源模組,而以前的開源框架,例如 hibernate spring sturts等都是基於統一管理和唯一的classloader來設計開發。所以osgi在整合其他框架時需要做特殊處理。im...