登录模块加载中...
会员投稿 投稿指南 今天是:
打印本页 | 关闭窗口 | 双击滚屏 您的位置首页>>网页制作学习园地>>CGI教程>>CGI应用>>Perl语言的文字处理模式之一
Perl语言的文字处理模式之一
来源:不详 ‖ 作者:佚名 ‖ 点击: ‖ 时间:14-01-14 14:52:41 ‖ 【 】‖ 我要投稿
Perl语言的文字处理模式(Regular Expression) 

  如果在Unix中曾经使用过sde、awk、grep这些指令的话,相信对于Perl语言中的文字处理模式(Regular Expression) 应该不会感到陌生才对。在Perl语言中因为有这个功能,所以对于字符串的处理能力是非常强有力的。Regular Expression可视为用来处理字符串的一种模式(pattern),其使用的格式为/pattern/。在Perl语言的程序设计中,经常可以看得到类似语法的应用,在CGI程序设计中也不例外。只要能够善用文字处理模式的话,要处理任何难的字 符串皆可迎刃而解,在本章中笔者会用深入浅出的方式来介绍Regufar Expression的用法。

一、文字处理(RegularExpression)的常用语法

  以下是文字处理模式中,/pattern/常用到的语法: 

  /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找寻一个digit(数字)的字符,和[0-9]语法一样 d+ 找寻一个digit(数字)以上的字符串,和[0-9]+语法一样 D 找寻一个non-digit(非数字)的字符,和[^0-9]语法一样 D+ 找寻一个non-digit(非数字)以上的字符串,和[^0-9]+语法一样 w 找寻一个英文字母或是数值的字符,和[a-zA-Z0-9]语法一样 w+ 找寻一个以上英文字母或是数值的字符串,和[a-zA-Z0-9]+语法一样 W 找寻一个非英文字母或是数值的字符,和[^a-zA-Z0-9]语法一样 W+ 找寻一个以上非英文字母或是数值的字符串,和[^a-zA-Z0-9]+语法一样 s 找寻一个空白的字符,和[ntrf]一样 s+ 找寻一个以上空白的字符,和[ntrf]+一样S 找寻一个非空白的字符,和[^ntrf]一样 S+ 找寻一个以上非空白的字符,和[^ntrf]+一样 b 找寻一个不以英文字母、数值为边界的字符串 B 找寻一个以英文字母、数值为边界的字符串 a|b|c 找到符合a字符或是b字符或是c字符的字符串 abc找到一个含有abc的字符串 (pattern)。

   ()这个符号会记忆所找寻到的字符串,是一个很实用的语法 第一个()内所找到的字符串变成$1这个变量或是1变量 第二个()内所找到的字符串变成$2这个变量或是2变量 以此类推,笔者会在下一个小节中详细介绍它的用法/pattern/i i这个参数是代表忽略英文大小谢的意思,也就是在找寻字符串的时候,不会去考虑英文的大小写 如果要在pattern模式中找寻一个有特殊意义的字符,要在这个字符前加上这个符号,这样才会让这个特殊字符失效。
加入收藏:  加入收藏夹  | 发送给好友:  发送给好友
责任编辑:admin
相关文章列表
请文明参与讨论,禁止漫骂攻击。  
网友评论