手机
当前位置:查字典教程网 >脚本专栏 >perl >有关perl正则表达式的一些杂项
有关perl正则表达式的一些杂项
摘要:$也能匹配n见Perl语言入门,page132,注释61/^.*$/能匹配"n"么?能!因为$不仅能匹配行尾,也能匹配n2/^.*$/能匹配...

$也能匹配n

见Perl语言入门,page 132, 注释6

1 /^.*$/能匹配"n"么?能!因为$不仅能匹配行尾,也能匹配n

2 /^.*$/能匹配"bn"么?能!.能b匹配. n匹配$

3 /^.*$/能匹配"nb"么?不能!为什么?因为默认情况下,.不能匹配n,把模式改一下变成/^.*$/s就可以了,/s表示.能匹配任意字符,包括n

多行匹配/m

看一个例子,这段代码输出:hello

复制代码 代码如下:

my $text = "hello, world,nhello zdd,nhello autumn";

while ( $text =~ /^hello/g ) {

print "hellon"

}

稍微改变一下,加上/m选项

复制代码 代码如下:

my $text = "hello, world,nhello zdd,nhello autumn";

while ( $text =~ /^hello/mg ) {

print "hellon"

}

现在输出变成了

hello

hello

hello

注解:

默认情况下,^和$匹配整个字符串的开头和结尾,但是加上/m之后,^和$就匹配每行的开头和结尾。也就是说,因为字符串中有换行符n,所以/m选项使得^$匹配每行的开头和结尾。

如果字符串中没有换行符,那么/m选项是不起作用的。

【有关perl正则表达式的一些杂项】相关文章:

perl引用的相关知识分享

perl 中的or与||的区别

perl对m x n类似表进行按列排序的代码

分享下perl胶水实现前后台对接的方法

Perl从文件中读取字符串的两种实现方法

perl从文件中读取数据并输出的实现代码

Shell编程的一些知识集合

有关perl的内置特殊变量介绍

Linux/Unix下安装Perl模块的两种方法分享

perl文件操作的一些例子分享

精品推荐
分类导航