perl – 如何通过模式匹配提取单词?
发布时间:2020-12-15 23:35:34 所属栏目:大数据 来源:网络整理
导读:#!/usr/bin/perluse strict;use warnings;my $string = "praveen is a good boy";my @try = split(/([a,e,i,o,u]).*1/,$string);print "@tryn"; 我试图在给定的字符串中打印包含2个相邻元音的所有单词. o / p:必须是“praveen”和“good”. 我尝试使用否
#!/usr/bin/perl use strict; use warnings; my $string = "praveen is a good boy"; my @try = split(/([a,e,i,o,u]).*1/,$string); print "@tryn"; 我试图在给定的字符串中打印包含2个相邻元音的所有单词. 我尝试使用否定exp [^]来分割并仅给出2个相邻的元音. 解决方法
Perl函数拆分不适合查找匹配列表.相反,我建议使用正则表达式修饰符g.要处理所有匹配项,您可以循环使用例如虽然,或者您可以一次性分配匹配列表.
以下示例应匹配包含两个相邻元音的字符串中的所有单词: my $string = "praveen is a good boy"; while ( $string =~ /(w*[aeiou]{2}w*)/g ) { print "$1n" } 输出: praveen good 你也可以这样做: my @matches = ( $string =~ /w*[aeiou]{2}w*/g ); 并处理结果类似于您在OP中处理@try的方式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |