Perl 的正则表达式中如果出现 ()
来源:互联网 发布:越南崛起 知乎 编辑:程序博客网 时间:2024/04/29 17:39
这几天使用了perl进行文本处理,感觉很方便。
下面是几点经验,以后可能用到,记载在这防止遗忘。
1.perl中匹配汉字(处理中文)
使用 [/x80-0xff]来匹配汉字。我用它来匹配的是GB18030 编码的汉字,不知道其他的编码像unicode,utf-8,utf-16等可不可以。
2.正则表达式的匹配
".*?"为最小匹配
".*"为最大匹配
使用'/'来进行转义
3.正则表达式
正则表达式有三种存在形式,他们分别是:
匹配:m/<regexp>/ (还可以简写为 /<regexp>/ ,略去 m)
替换:s/<pattern>/<replacement>/
转化:tr/<pattern>/<replacemnt>/
几个例子(转)
$str = "I love Perl";
$str =~ m/Perl/; # 表示如果在 $str 中发现 "Perl" 字符串,则返回 "1" 否则返回 "0"。
$str =~ s/Perl/BASH/; # 表示将变量 $str 中的 "Perl" 字符串替换为 "BASH",如果发生此替换则返回 "1",否则返回 "0"。
$str !~ tr/A-Z/a-z/; # 表示将变量 $str 中的所有大写字母转化为小写字母,如果转化发生了则返回 "0",否则返回 "1"。
另外还有:
foreach (@array) { s/a/b/; } # 此处每次循环将从 @array 数组中取出一个元素存放在 $_ 变量中,并对 $_ 进行替换处理。
while (<FILE>) { print if (m/error/); } # 这一句稍微复杂一些,他将打印 FILE 文件中所有包含 error 字符串的行。
Perl 的正则表达式中如果出现 () ,则发生匹配或替换后 () 内的模式被 Perl 解释器自动依次赋给系统 $1, $2 ...... 请看下面的例子:
$string = "I love perl";
$string =~ s/(love)/<$1>/; # 此时 $1 = "love",并且该替换的结果是将 $string 变为 "I <love> perl"
$string = "i love perl";
$string =~ s/(i)(.*)(perl)/<$3>$2<$1>/; # 这里 $1 = "i",$2 = " love ",$3 = "perl",并且替换后 $string 变为 "<perl> love <i>"
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caohao2008/archive/2007/11/13/1881721.aspx
- Perl 的正则表达式中如果出现 ()
- Perl 中正则表达式
- PERL下的正则表达式
- 常用的perl正则表达式
- 在PHP中使用与Perl兼容的正则表达式
- 在PHP中使用与Perl兼容的正则表达式
- 在PHP中使用与Perl兼容的正则表达式
- perl正则表达式中各种字符集的整理
- 正则表达式中类似于Perl的元字符
- PHP 中与 Perl 兼容的正则表达式
- vbscript中正则表达式相对perl的不同
- 在PHP中使用与Perl兼容的正则表达式
- PHP中与Perl兼容的正则表达式处理函数
- 精通正则表达式二:Perl中正则表达式的基本应用
- 如果在数据库中存放正则表达式
- FreeMarker如果遇到正则表达式的时候会出现的bug
- javascript 的perl类型的正则表达式
- Perl中的正则表达式的用法
- 测试
- socket 编程笔记
- ExtJs_GridWithPlugins
- 正则表达式perl语言的文字处理模式
- BSP
- Perl 的正则表达式中如果出现 ()
- 分析类和设计类-UML类生命的形成和演化
- MEF helloWorld
- 从现在开始,把学习资料整理一下吧
- Mysql如何删除表里相同的记录
- Tga图片格式分析以及程序实现
- C++内存分配秘籍—new,malloc,GlobalAlloc详解
- php比较好用的几种函数及方法
- 2011.4.15