亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Perl > 正文

Perl常規表達式(2)

2019-11-18 17:24:00
字體:
來源:轉載
供稿:網友

三常規表達式(RegularEx
  $string=~/(/W)/s (/d )/;

  第一個(/W )是代表找尋數個字母,并將的找到的字符串指派給$1這個變量,而/s 代表找尋多個空白的字符串,最后(/d )代表找尋個數值,并將所找到的字符串指派給$2這個變量。所以

$1="chmod";$2=711;但是$string還是等于原來的字符串,沒有改變。

  范例二:

  $_="chmod711cgi";

  /(/W)/s (/d )/;

  因為是把字符串指定給$_這個變量,所以可以不用=~這個運算符就會得到

  $1="chmod";$2=711;而且$_還是等于原來的字符串,沒有改變。

  范例三:

  $string="chmod711cgi";

  @list=split(/s /,$string);

  以上一個或是多個空白字符來分割$string這個字符串,這是一個很常用的語法。此時@list=("chmod","711","cgi");

--------------------------------------------------------------------------------

  指令:=~相配運算符

  說明:這是Perl語言中特有的語法,通常會和文字處理來作運算。

  范例:

  print"請輸入一個字符串!/n";

  $string=<STDIN>;#<STIDN>代表標準輸入,會讓使用者輸入一字符串

  chop($string);#將$string最后一個換行的字符/n刪除掉

  if($string=~/cgi/){

  print("輸入的字符串中有cgi這個字符串!/n";

  }

  如果輸入的字符串含有cgi這個字符串的話,就會顯示出這個信息。

--------------------------------------------------------------------------------

  指令:!~不相配運算符

  說明:這也是Perl語言中特有的語法,通常會和常規表達式來運算。

  范例:

  print"請輸入一個字符串!/n";

  $string=<STDIN>;#<STIDN>代表標準輸入,會讓使用者輸入一字符串

  chop($string);#將$string最后一個換行的字符/n刪除掉

  if($string!~/cgi/)

  {

  print("輸入的字符串中有cgi這個字符串!/n";

  }

  如果輸入的字符串中沒有cgi這個字符串的話,就會顯示出這個信息。

--------------------------------------------------------------------------------

  指令:tr轉換函數

  語法:tr/SEARCHLIST/REPLACELIST/

  其中SEARCHLIST是要轉換的字符;REPLACELIST是轉換成何種字符。

  說明:tr(translate)就是轉換的意思,會把符合轉換的字符轉換成要轉換的字符。

  范例一:

  $string="testing";

  $string=~tr/et/ET/";#此時$string="TEsTing";

  $string=~tr/a-z/A-Z/;#此時$stirng="TESTING";

  范例二:

  $string="CGI Perl";

  $string=~tr/ //;#此時$string="CG

-------------------------------------------------------------------------------

  指令:s取代函數

  語法:s/PATTERN/REPLACE/eg

  其中

  PATTERN是文字處理(RegularExpresion)的模式;

  REPLACE是代表取代成何種文字模式。

  而g是這個函數最常用的參數,代表要把所有符合文字模式的字符串全部取代,如果省略這個參數的話,則只取代一個符合文字模式的字符串中;

  而加上e這個參數代表要將REPLACE的部分當成一個運算式,如果沒有這個需要的話,就不用加上這個參數了。說明:將符合常規表達式的字符串取成為要取代的字符串

  范例一:

  $string="i:love:perl";

ring="i*love*perl";

  $string=~s/*/ /g;#此時$string="i love perl";

  $string=~s/ //g;#此時$string="iloveperl";

  上一行也可寫成$string=~tr/ //;效果都會一樣哦!

  $string=~s/perl/cgi;#此時$string="ilovecgi";

  范例二:

  $string=~s/(love)/<$1>/;

  第一個()內所找到的字符串變成$1,在這個范例中,會把變量love這個字符串變成<love>,此時$string="i<love>perl";

  $string="iloveperl";

  $string=~s(i)(perl)/<$1><$2>/;

  在這個范例中,會把i變成<i>;perl變成<perl>,此時$string="<perl>love<i>";  $string="iloveperl";

  $string=~s(/W )/<$1>/g;

  (/w )代表找尋符合一個或是多個英文字符或是數值的字符串,之后再將找到的字符串設成$1。因為加上g這個參數,所以會找到字符串的這三個英文單字,然后再把這三個單字分加上<>這個符號,此時$string="<perl><love><i>";

  范例三:

  $string="www22cgi44";

  $string=~s/(/d )/$1*2/e;

  (/d )代表要找尋$string中一個或是多個數值的字符串,再將找到的字符串設成$1。加上參數e是代表要把$1*2當作是一個運算式,所以$string="www22cgi44";

  $string="www22cgi44";

  $string=~s/(/d )/$1*2/eg;

  加上參數e,所以會把$1*2當作是一個運算符式來看;加上參數g就會把全部符合數值的字符串經過運算式運算之后再把它取代,所以$string="www44cgi88";

  范例四:

  假設原本的字符串是$value="三八!",經CGI數據編碼之后,這個字符串就會變成

  $value="!"。以下是一個解碼的示范程序:

  $value="!";

  $vlaue=~s/(〔a-fA-F0-9〕

〔a-fA-F0-9〕/pack("c",hex($1))/eg;

  在傳送CGI數據的時候會把數據編碼,其中會將特殊字符或是中文字符編碼以開頭的連續的兩個十六進制數的字符串,所以要用s這個函數來找尋這個以開頭的字符串。為了要把找到的字符串再做解碼的處理,所以要在這個符號之后加上()這個符號,表示會把找到的字符串記憶起來并指定給$1這個變量,而且要在()中加上代表是連續兩個十六進制數值的常規表達式(RegularExpression),也就是〔a-fA-F0-9〕〔a-fA-F0-9〕。再用hex這個函數($1是代表符合的字符串)把十六進制數值轉成十進制的碼,之后再用pack這個函數(以C為參數,是代表unsignedcharvalue的意思)把這個十進制碼還原成原來的字符串。最后就會把這個字符串解碼成$value="三八!"。值得一提的是也可以把這個解碼的程序寫成:  $value=~s/(..)/pack("C",hex($1))/eg;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av在线一区| 欧美大尺度在线观看| 国内精品国产三级国产在线专| 欧美另类xxx| 日韩免费av一区二区| 亚洲精品免费网站| 欧美福利小视频| 色偷偷av亚洲男人的天堂| 尤物99国产成人精品视频| 91情侣偷在线精品国产| 在线视频中文亚洲| 欧美激情女人20p| 国产精品露脸av在线| 日韩电影大片中文字幕| 日韩av一区在线观看| 亚洲自拍欧美色图| 欧美性猛交xxxxx水多| 中文字幕亚洲欧美日韩高清| 国产91成人在在线播放| 欧美日韩亚洲精品内裤| 久久久精品网站| 久久久国产精品免费| 亚洲午夜小视频| 一本久久综合亚洲鲁鲁| 欧美另类xxx| 欧美交受高潮1| 日本久久久久亚洲中字幕| 亚洲色图17p| 欧美老女人bb| 欧美在线亚洲一区| 日韩欧美有码在线| 搡老女人一区二区三区视频tv| 中文字幕国内精品| 日韩在线观看免费高清| 成人在线播放av| 久久天天躁狠狠躁夜夜躁2014| 97碰在线观看| 国模精品系列视频| 亚洲成人精品久久久| 一本色道久久综合狠狠躁篇的优点| 欧美激情精品久久久久久久变态| 91精品久久久久久久久青青| 国产视频丨精品|在线观看| 国产精品丝袜高跟| 欧美一级视频免费在线观看| 91深夜福利视频| 亚洲国产成人在线视频| 成人福利视频在线观看| 久久久成人精品视频| 精品国产欧美成人夜夜嗨| 国产一区二区三区日韩欧美| 91精品国产乱码久久久久久蜜臀| 日韩欧美在线播放| 在线观看欧美视频| 久久国产精品网站| 亚洲自拍偷拍色片视频| 亚洲一区美女视频在线观看免费| 久久免费成人精品视频| 欧美一级黑人aaaaaaa做受| 日韩视频―中文字幕| 日本在线精品视频| 色琪琪综合男人的天堂aⅴ视频| 66m—66摸成人免费视频| 久久精品99国产精品酒店日本| 亚洲自拍另类欧美丝袜| 久久久久久高潮国产精品视| 欧美一级片一区| 57pao国产精品一区| 国产精品一区二区久久国产| 欧美激情aaaa| 亚洲美腿欧美激情另类| 国产精品美乳一区二区免费| 欧美在线视频网| 97香蕉超级碰碰久久免费的优势| 亚洲黄色有码视频| 久久久久久久久久久成人| 69国产精品成人在线播放| 日韩最新免费不卡| 欧美极度另类性三渗透| 欲色天天网综合久久| 国产欧美日韩专区发布| 操日韩av在线电影| 俺去了亚洲欧美日韩| www日韩欧美| 精品日韩美女的视频高清| 日韩中文视频免费在线观看| www.亚洲人.com| 韩国国内大量揄拍精品视频| 欧美在线观看网站| 成人免费网站在线观看| 中文欧美在线视频| 精品中文字幕乱| www.99久久热国产日韩欧美.com| 欧美一区二区三区免费视| 97碰在线观看| 北条麻妃99精品青青久久| 国产精品国产三级国产aⅴ9色| 欧美午夜美女看片| 热99精品里视频精品| 国产91精品久久久久久久| 欧美日韩国产影院| 国产美女高潮久久白浆| 国产一区二区黑人欧美xxxx| 性色av一区二区三区免费| 日日噜噜噜夜夜爽亚洲精品| 2021久久精品国产99国产精品| 成人黄色中文字幕| 亚洲视频在线免费观看| 国产精品天天狠天天看| 中文字幕免费国产精品| 精品在线欧美视频| 亚洲 日韩 国产第一| 欧美激情精品久久久久久黑人| 4438全国亚洲精品在线观看视频| 7777精品久久久久久| 91精品国产乱码久久久久久蜜臀| 亚洲aa中文字幕| 亚洲国产精品久久久久秋霞不卡| 久久精品成人欧美大片古装| 久久精品99无色码中文字幕| 国产精品网红直播| 国产欧美一区二区三区在线| 欧美极品少妇xxxxⅹ免费视频| 成人网欧美在线视频| 欧美成人精品不卡视频在线观看| 精品爽片免费看久久| 热久久免费视频精品| 精品国产电影一区| 日韩久久免费电影| 欧美高清电影在线看| 日韩免费观看高清| 欧美另类暴力丝袜| 性欧美暴力猛交69hd| 最好看的2019的中文字幕视频| 久久久国产精品x99av| 欧美日韩精品在线观看| 国产99视频精品免视看7| 亚洲精品999| 九九热在线精品视频| 国产精品美腿一区在线看| 日韩av在线影视| 国产亚洲成av人片在线观看桃| 日韩成人在线播放| 狠狠操狠狠色综合网| 精品久久久国产| 国产精品久久久久久av| 欧美极品少妇全裸体| 欧美成人激情视频| 久久精品国产亚洲精品2020| 欧美专区福利在线| 欧美日韩在线视频首页| 日韩精品高清视频| 欧美亚洲国产日本| 日韩欧美在线播放| 色噜噜亚洲精品中文字幕| 欧美第一页在线| 色综合天天综合网国产成人网| 亚洲第一精品久久忘忧草社区| 久久久免费观看视频| 久久久免费观看视频| 亚洲在线免费视频| 欧美高清一级大片| 国产日韩精品在线观看| 欧美日韩精品在线视频|