Perl语言的文字处理模式之3(3)
发表时间:2024-02-09 来源:明辉站整理相关软件相关文章人气:
[摘要]指令: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="<><><>";