您好我是perl和regex的业余爱好者
我想问以下问题:
是否可以为以下代码创建一个替换参数:
($inputwoord =~s /[aa|uu|ee|oo]/[a|u|e|o]/) {}
我基本上需要更换所有双元音,所以只剩下1个元音。
然而Perl似乎并不明白他必须改变aa =>一个 oo =>等等。
他崩溃了。
有没有办法在同一替换中将diphtong与元音相关联? 我不想做4种不同的替换......
谢谢!
答案 0 :(得分:1)
[...]
定义了一个字符类。因此,[aa]
相当于[a]
。
如果你想搜索重复的元音,你可以通过捕获括号来记住元音:
/([aueo])\1/
这匹配类的任何字符,后跟相同的字符。要仅用一次更换它,请再次使用捕获组:
s/([aueo])\1/$1/g
因此,要更改变量$ inputwoord的值:
$inputwoord =~ s/([aueo])\1/$1/g
顺便说一句,它不是说他崩溃,而是显示你得到的实际错误更有用。你没有显示足够的代码让我们能够猜出为什么Perl会崩溃。