明辉站/网站教程/内容

Perl语言的文字处理模式之3(3)

网站教程2024-06-06 阅读
[摘要]指令:s取代函数 语法:s/PATTERN/REPLACE/eg   其中PATTERN是文字处理(Regular Expression)的模式,REPLACE是代表取代成何种文 字 模式。而g是这个函数最常用的参数,代表要把所有符合文字模式的字符串 全部取 代,如果省略这个参数的话,则只取代一个...
指令:s取代函数
语法:s/PATTERN/REPLACE/eg

  其中PATTERN是文字处理(Regular Expression)的模式,REPLACE是代表取代成何种文
字 模式。而g是这个函数最常用的参数,代表要把所有符合文字模式的字符串 全部取
代,如果省略这个参数的话,则只取代一个符合文字模式的字符串;而加上e这 个参数是代
表要将REPLACE的部分当成一个运算式,如果没有这个需要的话,就不用加 上这个参数。
说明:将符合文字处理模式的字符串取代成为要取代的字符串。

范例一:
  $string="i;love;perl";
  $string=~s/:/*/:   #此时$string="i*love:perl";
  $string=~s/:/*/g;   #此时$string="i*love*perl";
  $stiing=~s/*/+/g;   #此时$string="i+love+perl";
  $string=~s/+//g:   #此时$string="i love perl";
  上一行也可写成$string=~tr/+//;效果都会一样哦!
  $string=~s/per1/cgi/; #此时$string="i love cgi";

范例二:
  $string="i love per";
  $string=~s/(love)/<$1>/;
  第一个()内所找到的字符串变成$1,在这个范例中,会把变量love这个字符串变成
<>,此时$string="i<>perl";
  $string="i love per1";
  $string=~s/(i)(perl)/<$1><$2>/;
  在这个范例中,会把i变成<>,perl变成<>此时$string="<>love<>";
  $striag="i love per1";
  $string=~s/(w+)/<$1>/g;

  (w+)代表找寻符合一个或是多个英文字符或是数值的字符串,之后再将找到的字 符串设成$l。因为加上g这个参数,所以会找到字符串中的这三个英文单字, 然后 再把这三个单字分别加上<>这个符号,此时$string="<><><>";

……

相关阅读