我必须提取几个单词的最后一个音节。
这些词总是以辅音结尾。
可能的辅音是这样的:“b c cs d dz dzs f g gy h j k l ly y ny p q s s s t t t v v w x y z zs”
可能的元音是这样的:“a ouöüeiáóúőűéí”
鉴于这个词,“vélemény”,我必须提取ény
鉴于这个词,“otth ion ”,我必须提取离子
鉴于这个词,“非常 ”,我必须提取
我已经制作了这个函数,它会返回最后一个元音的位置。但是如果两个元音在一起怎么办?
vélemény ény
otthion ion
feladat at
在
[DataMember]
public List<PosMenuCategory> categories { get; set; }
期望的输出:
Vec_<Tp>
答案 0 :(得分:2)
$ awk 'match($0,/[aouöüeiáóúőűéí]+[^aouöüeiáóúőűéí]+$/,a){print $0, a[0]}' file
vélemény ény
otthion ion
feladat at
以上使用GNU awk为第3个arg匹配()。其他问题就是:
$ awk 'match($0,/[aouöüeiáóúőűéí]+[^aouöüeiáóúőűéí]+$/){print $0, substr($0,RSTART,RLENGTH)}' file
vélemény ény
otthion ion
feladat at
使用某些awks,您可以使用等价类,而不是列出每个元音的每个可能的变体:
/[[=a=][=e=][=i=][=o=][=u=]]+[^[=a=][=e=][=i=][=o=][=u=]]+$/
但GNU awk不支持等价类。