我想跟上最后一个辅音,然后跟一个单词的元音相匹配。现在我正在使用:
([bcdfghjklmnpqrstvwxz][aeiou])+
这匹配每个案例,而不仅仅是单词的结尾。例如:Welcome
匹配co
和me
,但 仅 匹配me
。
答案 0 :(得分:2)
在最后添加一个单词边界修饰符(\b
):
([bcdfghjklmnpqrstvwxz][aeiou]\b)+
此外,除非我误解了您尝试做的事情,否则不需要进行一次或多组比赛。以下就足够了:
[bcdfghjklmnpqrstvwxz][aeiou]\b
正如@fejese在下面指出的那样,你并不完全清楚自己要做什么。如果你试图将一个单词中的最后一个辅音与一个元音相匹配,但每个单词只有一个,则允许以下可能性。
在这种情况下,您可以执行以下操作:
[bcdfghjklmnpqrstvwxz][aeiou]+[bcdfghjklmnpqrstvwxz]*\b
答案 1 :(得分:1)
您可以使用负面预测来禁止再次重复该模式:
/([^aeiou][aeiou])(?!.*[^aeiou][aeiou])/
请注意,我不知道VB.net是否支持(可变长度)否定预测。
答案 2 :(得分:0)