主页 > 知识库 > 有关perl正则表达式的一些杂项

有关perl正则表达式的一些杂项

热门标签:呼叫中心市场需求 百度AI接口 客户服务 语音系统 企业做大做强 硅谷的囚徒呼叫中心 Win7旗舰版 电话运营中心

$也能匹配\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"
}

现在输出变成了
hello
hello
hello

注解:
默认情况下,^和$匹配整个字符串的开头和结尾,但是加上/m之后,^和$就匹配每行的开头和结尾。也就是说,因为字符串中有换行符\n,所以/m选项使得^$匹配每行的开头和结尾。
如果字符串中没有换行符,那么/m选项是不起作用的。

您可能感兴趣的文章:
  • PERL 正则表达式详细说明
  • Perl中的正则表达式介绍
  • 关于Perl里面正则表达式规范
  • POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
  • 解析posix与perl标准的正则表达式区别
  • 在PHP中使用与Perl兼容的正则表达式
  • 一个perl扩展正则表达式代码分析
  • PHP中基于perl的正则表达式处理函数
  • 强大的Perl正则表达式实例详解

标签:长沙 济南 喀什 安康 崇左 山西 山西 海南

巨人网络通讯声明:本文标题《有关perl正则表达式的一些杂项》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266