perl備忘

List Operators:正則表達式

  sort reverse grep map 數組

  my @castways = sort qw( first second third); # qw 給單詞自動加上雙引號session

  grep: 從list中一個一個的取出,而後添加到$_中,而後經過測試標量的值,爲true的話添加到輸出列表中測試

  some example:spa

          my @lunch_choices = grep &is_edible($_), @gilligans_posessionsci

          my @results = grep EXPR,@input_list;input

       my @bigger_than_10 = grep $_ > 10 , @input_numbers;io

      map: 也是經過一些規則改變列表,感受map能夠增長列表的元素,而grep更注重過濾table

     my @input_numbers = (1 2 3 4 5 6 );ast

        my @result = map $_ + 100 , @input_numbers;

     my @result = map { $_ , 3* $_} @input_numbers;

Reference:

  my @array = ( 1 2 3 4 );

  my $ref = \@array;

  $ref->[0]  調用方式  ,多級箭頭能夠簡化 $ref->[0]->[1]->[2]  == $ref->[0][1][2]

  @$ref 又能夠變回數組形式

正則表達式的高級形式:

   末尾加x,能夠給正則表達式換行,提升可讀性

  ?#能夠給正則表達式作註釋

表達式

方向

說明

(?=xxx)

正向預搜索(向右)

正向預搜索,判斷當前位置右側是否能匹配指定表達式

(?!xxx)

正向預搜索否認,判斷當前位置右側是否不可以匹配指定表達式

(?<=xxx)

反向預搜索(向左)

反向預搜索,判斷當前位置左側是否可以匹配指定表達式

(?<!xxx)

反向預搜索否認,判斷當前位置左側是否不可以匹配指定表達式

同時不匹配括號中的內容。

相關文章
相關標籤/搜索