a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Perl > 正文

Perl的經典用法:用正則表達式對文件進行操作

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

一旦你有個包含了整個串的變量,你可以使用正則表達式,對整個文件進行操作,而不是對文件中的某個塊進行操作。有兩個有用的正則表達式標記/s和/m。一般,Perl的正則表達式對行進行處理,你可以這樣寫:

undef$/;

$line=;

if($line=~/(b.*grass)$/){

$year=2000 $1;

}else{

$year=1900 $1;

}

}

}

如果我們從文件中讀入“1981”,$_將包含“1981/n”。正則表達式中的句點匹配“8”和“1”,而不匹配“/n”。這里正需要這樣做,因為換行符不是日期的組成部分。

對于一個包含很多行的串,我們也許要提取其中的大的塊,這些塊可能會跨越行分隔符。在這種情況下,我們可以使用/s選項,并用句點來匹配除了換行符以外的所有字符。

if(m{(.*?)}s){

print"Foundboldtext:$1/n";

}

此處,我用了{}來表示正則表達式的起始和結束,而不用斜杠,所以,我就可以告訴Perl我正在匹配,起始字符為"m",結束字符為"s"。你可以把/s和/m選項組合使用:

if(m{^(.*?)}sm){

#...

}

總結

有兩種方法打開文件:open()函數的特點是快速簡捷,而sysopen()函數功能強大而復雜。通過操作符,可以讀入一個記錄,$/變量可以讓你控制記錄是什么。如果你打算把很多行的內容讀入到一個串中,不要使用忘記/s和/m這兩個正則表達式標記。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 色婷婷成人 | a视频在线观看免费 | 国产精品精品视频一区二区三区 | 天堂在线中文 | 91在线视频一区 | 久久精品99国产精品日本 | 国产精品毛片久久久久久久 | 五月婷婷激情 | av网站在线免费观看 | 夜夜夜久久久 | 亚洲女同老女人女同志 | 欧美9999 | 午夜激情视频在线 | 国产大片在线观看 | 人操人人人 | 亚洲无吗电影 | 国产免费拔擦拔擦8x高清在线人 | 亚洲综合在线一区二区三区 | 久久综合色视频 | 中文字幕日韩一区二区不卡 | 欧美日韩精品一区二区 | 三级视频在线 | 亚洲三级视频 | 欧美一区久久 | 亚洲国产成人久久综合一区,久久久国产99 | 中文字幕欧美日韩 | 亚洲 精品 综合 精品 自拍 | 香蕉视频91 | 中文字幕亚洲精品 | 羞羞视频网站在线观看 | 成人精品视频 | 日韩1区3区4区第一页 | 色黄网站 | 在线播放一区二区三区 | 日本成人中文字幕在线观看 | 日韩欧美一区二区三区免费观看 | 韩国精品一区二区三区 | 成人一区二区三区视频 | 国产免费成人在线 | 色婷婷久久久swag精品 | 欧美日韩另类在线 |