有關perl正則表達式的一些雜項
$也能匹配\n
見Perl語言入門,page 132, 注釋6
1 /^.*$/能匹配"\n"么?能!因為$不僅能匹配行尾,也能匹配\n
2 /^.*$/能匹配"b\n"么?能!.能b匹配. \n匹配$
3 /^.*$/能匹配"\nb"么?不能!為什么?因為默認情況下,.不能匹配\n,把模式改一下變成/^.*$/s就可以了,/s表示.能匹配任意字符,包括\n
多行匹配/m
看一個例子,這段代碼輸出:hello
my $text = "hello, world,\nhello zdd,\nhello autumn";
while ( $text =~ /^hello/g ) {
print "hello\n"
}
稍微改變一下,加上/m選項
my $text = "hello, world,\nhello zdd,\nhello autumn";
while ( $text =~ /^hello/mg ) {
print "hello\n"
}
現(xiàn)在輸出變成了
hello
hello
hello
注解:
默認情況下,^和$匹配整個字符串的開頭和結尾,但是加上/m之后,^和$就匹配每行的開頭和結尾。也就是說,因為字符串中有換行符\n,所以/m選項使得^$匹配每行的開頭和結尾。
如果字符串中沒有換行符,那么/m選項是不起作用的。
相關文章
使用perl實現(xiàn)拆分數(shù)據(jù)表(mysql)并遷移數(shù)據(jù)實例
這篇文章主要介紹了使用perl實現(xiàn)拆分數(shù)據(jù)表(mysql)并遷移數(shù)據(jù)實例,本文提供了3個腳本,分別用于拆分數(shù)據(jù)表、遷移數(shù)據(jù)、插入測試數(shù)據(jù),需要的朋友可以參考下2014-10-10Perl中使用dig和nali判斷DNS解析地址歸屬地是否一致腳本分享
這篇文章主要介紹了Perl中使用dig和nali判斷DNS解析地址歸屬地是否一致腳本分享,本文同時介紹了一個使用純真IP庫實現(xiàn)的Perl查詢工具,需要的朋友可以參考下2014-09-09