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模式中寻找一个有特殊意义的字符串,要在这个字
符串前家上\这个符号,这样才回让这个特殊字符失效 |
|