在perl中,用s///进行替换的问题
来源:学生作业帮 编辑:作业帮 分类:历史作业 时间:2024/05/11 04:20:57
在perl中,用s///进行替换的问题
$_="huge dinosaur"
s/\w+$/($`!)$&/; #结果为什么是“huge(huge )dinosaur”
s/\s+(!\w+$)/$1/; #结果为什么还是“huge(huge )dinosaur”请解释一下
s/huge/gigantic/; #为什么只替换了第一个huge没有替换第二个?
出自小骆驼 166页
$_="huge dinosaur"
s/\w+$/($`!)$&/; #结果为什么是“huge(huge )dinosaur”
s/\s+(!\w+$)/$1/; #结果为什么还是“huge(huge )dinosaur”请解释一下
s/huge/gigantic/; #为什么只替换了第一个huge没有替换第二个?
出自小骆驼 166页
$_="huge dinosaur"
s/\w+$/($`!)$&/; #结果为什么是“huge(huge !)dinosaur” 请解释一下
$` 又叫 pre-match, 就是匹配字串"之前" 的东西,
因为匹配到的是 "dinosaur" 所以其前面的就是 huge
$& 又叫 match, 就是匹配到字串,
因为匹配到的是 "dinosaur" 所以最後加上 "dinosaur"
s/\s+(!\w+$)/$1/; #结果为什么还是“huge(huge !)dinosaur”请解释一下
这个很简单, 因为根本找不到匹配, 所以没有进行过替换, 原封还给你了
s/huge/gigantic/; #为什么只替换了第一个huge没有替换第二个?
因为这不是 greedy(贪婪), 只要完成一次匹配就会返回, 如果你还想换掉第 2 个
你可以写成 s/huge/gigantic/g;
s/\w+$/($`!)$&/; #结果为什么是“huge(huge !)dinosaur” 请解释一下
$` 又叫 pre-match, 就是匹配字串"之前" 的东西,
因为匹配到的是 "dinosaur" 所以其前面的就是 huge
$& 又叫 match, 就是匹配到字串,
因为匹配到的是 "dinosaur" 所以最後加上 "dinosaur"
s/\s+(!\w+$)/$1/; #结果为什么还是“huge(huge !)dinosaur”请解释一下
这个很简单, 因为根本找不到匹配, 所以没有进行过替换, 原封还给你了
s/huge/gigantic/; #为什么只替换了第一个huge没有替换第二个?
因为这不是 greedy(贪婪), 只要完成一次匹配就会返回, 如果你还想换掉第 2 个
你可以写成 s/huge/gigantic/g;
Shell或者perl进行随机分组的问题
perl中reverse用法问题
在perl中如下定义是什么意思
perl语言中遇到的情况
perl 中$::的含义及用法
excel问题如何把公式的字母进行替换
在不改变原意的情况下,把下面句子中加点的词语进行替换.
perl 正则表达式问题
perl $$含义想知道perl中$$表示的是什么意思if ($keyname /DEVICE_SUPPORT/i){$
用perl查一个词表中的词在另一个文档中出现的,频率,输出频率表,并列出该词出现的索引行.
请问用perl怎么统计每一行中某个单词出现的位置?
perl 按列统计 计算A,B,C,D列中 数字2 在每列中出现的百分率.