您的位置:寻梦网首页编程乐园Perl 编程>perl的文字处理
perl的文字处理


使用过UNIX的sed、awk、grep指令的朋友,相信不会对文字处理(Regular Expression)感到陌生。

只有了解文字处理,编写起Perl语言很多难题都可迎刃而解。

下面开始介绍文字处理的用法。

/pattern/

说明

  除了换行字符\n外,寻找只有一个字符的字符
x? 寻找0个或是1个x字符
x* 寻找0个或是0个以上的x字符
.* 寻找0个或是0个以上的任何字符
x+ 寻找1个或是1个以上的x字符
.+ 寻找1个或是1个以上的任何字符
{m} 寻找是m个个数指定的字符
{m,n} 寻找在m个个数以上,n个个数以下的字符
{m,} 寻找m个个数以上指定的字符
[] 寻找[]内的字符
[^] 寻找不是[]内的字符
[0-9] 寻找符合0-9的任意字符
[a-z] 寻找符合a-z的任意字符
[^0-9] 寻找不符合0-9的任意字符
[^a-z] 寻找不符合a-z的任意字符
^ 寻找字符串开头的字符
$ 寻找字符串结尾的字符
\d 寻找数字的字符,和[0-9]语法一样
\d+ 寻找数字以上的字符,和[0-9]+语法一样
\D 寻找非数字的字符,和[^0-9]语法一样
\D+ 寻找非数字以上的字符,和[^0-9]+语法一样
\w 寻找一个英文字母或是数值的字符,与[a-zA-Z0-9]语法一样
\w+ 寻找一个以上英文字母或是数值的字符,与[a-zA-Z0-9]+语法一样
\W 寻找一个非英文字母或是数值的字符,与[^a-zA-Z0-9]语法一样
\W+ 寻找一个非英文字母或是数值的字符,与[^a-zA-Z0-9]+语法一样
\s 寻找一个空白的字符,和[\n\t\r\f]一样
\s+ 寻找一个以上空白的字符,和[\n\t\r\f]+一样
\S 寻找一个非空白的字符,和[^\n\t\r\f]一样
\S+ 寻找一个以上非空白的字符,和[^\n\t\r\f]+一样
\b 寻找一个不以英文的字母、数字为边界的字符串
\B 寻找一个以英文、数字为边界的字符串
a|b|c 找到符合a字符或是b字符或是c字符的字符串
abc 找到一个含有abc的字符串
(pattern) ()这个符号会记忆所寻找到的字符串,是一个实用的语法
第一个()内所找到的字符串变成$1这个变量或是\1变量
第二个()内所找到的字符串变成$2这个变量或是\2变量
一上为介,依次类推。
/pattern/i i这个参数是代表忽略英文大小写的意思,也就是在寻找字符串的
时候,不会去考虑英文的大小写
\ 如果要在pattern模式中寻找一个有特殊意义的字符串,要在这个字
符串前家上\这个符号,这样才回让这个特殊字符失效