Regex 只匹配一个元音的单词
我只想匹配只有一个元音的字符串 我尝试了这个代码,它可以工作,但它也匹配那些没有任何元音的字符串(例如Regex 只匹配一个元音的单词,regex,perl,Regex,Perl,我只想匹配只有一个元音的字符串 我尝试了这个代码,它可以工作,但它也匹配那些没有任何元音的字符串(例如hshs,ksks,lslsl),我只需要只有一个元音的字符串 if ( $string !~ /\*w[aeiou]\w*[aeiou]\W*/ ) { print $string; } 简单一点,至少有一个元音: if ($string =~ /[aeiou]/i) { print $string; } if ($string =~ /^[^aeiou]*[aeiou][^a
hshs
,ksks
,lslsl
),我只需要只有一个元音的字符串
if ( $string !~ /\*w[aeiou]\w*[aeiou]\W*/ ) {
print $string;
}
简单一点,至少有一个元音:
if ($string =~ /[aeiou]/i) {
print $string;
}
if ($string =~ /^[^aeiou]*[aeiou][^aeiou]*$/i) {
print $string;
}
只有一个元音:
if ($string =~ /[aeiou]/i) {
print $string;
}
if ($string =~ /^[^aeiou]*[aeiou][^aeiou]*$/i) {
print $string;
}
简单一点,至少有一个元音:
if ($string =~ /[aeiou]/i) {
print $string;
}
if ($string =~ /^[^aeiou]*[aeiou][^aeiou]*$/i) {
print $string;
}
只有一个元音:
if ($string =~ /[aeiou]/i) {
print $string;
}
if ($string =~ /^[^aeiou]*[aeiou][^aeiou]*$/i) {
print $string;
}
简单一点,至少有一个元音:
if ($string =~ /[aeiou]/i) {
print $string;
}
if ($string =~ /^[^aeiou]*[aeiou][^aeiou]*$/i) {
print $string;
}
只有一个元音:
if ($string =~ /[aeiou]/i) {
print $string;
}
if ($string =~ /^[^aeiou]*[aeiou][^aeiou]*$/i) {
print $string;
}
简单一点,至少有一个元音:
if ($string =~ /[aeiou]/i) {
print $string;
}
if ($string =~ /^[^aeiou]*[aeiou][^aeiou]*$/i) {
print $string;
}
只有一个元音:
if ($string =~ /[aeiou]/i) {
print $string;
}
if ($string =~ /^[^aeiou]*[aeiou][^aeiou]*$/i) {
print $string;
}
您可以使用
tr//
计算字符串中出现的字母数
也许是这样的
use strict;
use warnings;
for my $string ( qw/ a fare is paid for every cab /) {
if ( $string =~ tr/aeiuoAEIOU// == 1 ) {
print $string, "\n";
}
}
输出
a
is
for
cab
您可以使用
tr//
计算字符串中出现的字母数
也许是这样的
use strict;
use warnings;
for my $string ( qw/ a fare is paid for every cab /) {
if ( $string =~ tr/aeiuoAEIOU// == 1 ) {
print $string, "\n";
}
}
输出
a
is
for
cab
您可以使用
tr//
计算字符串中出现的字母数
也许是这样的
use strict;
use warnings;
for my $string ( qw/ a fare is paid for every cab /) {
if ( $string =~ tr/aeiuoAEIOU// == 1 ) {
print $string, "\n";
}
}
输出
a
is
for
cab
您可以使用
tr//
计算字符串中出现的字母数
也许是这样的
use strict;
use warnings;
for my $string ( qw/ a fare is paid for every cab /) {
if ( $string =~ tr/aeiuoAEIOU// == 1 ) {
print $string, "\n";
}
}
输出
a
is
for
cab