我正在尝试确定用于比较字符串的最后一个字符的模式是“y”(y $)。
我的问题是如何测试“y”是否先于元音[aeiou]。
答案 0 :(得分:3)
如果您不关心捕捉并且只需要匹配的模式,只需将两者结合起来:
[aeiou]y$
答案 1 :(得分:2)
我还想在这里发布另一种有用的方法 - 至少知道这一点总是好的:积极的观察:
~(?<=[aeiou])y$~
它会匹配以元音+ y结尾的字符串,如'yay'而不是'chubby'哈哈。
说明:
~
:delimiter (?<=)
:看后面的块[aeiou]
:匹配元音中的字符y
:字面匹配字符$
:匹配字符串结尾您可以在完美的在线编辑器中使用它:https://regex101.com/r/uJ3eA8/1 :)
答案 2 :(得分:0)
这似乎有效,我希望只有一个测试来完成这项工作。
Regex:Match(myText, "y$", RegexOptions:IgnoreCase):Success and
not Regex:Match(myText, "[aeiou]+.$", RegexOptions:IgnoreCase):Success