Я пытаюсь определить шаблон для сравнения последнего символа строки «y» (y $).Regex - как проверить символы перед последним символом
Моя проблема заключается в том, как проверить, является ли «y» предшествующим гласным [aeiou].
Я пытаюсь определить шаблон для сравнения последнего символа строки «y» (y $).Regex - как проверить символы перед последним символом
Моя проблема заключается в том, как проверить, является ли «y» предшествующим гласным [aeiou].
Если вы не заботитесь о захвате и просто нужен шаблон согласования, просто объединить два:
[aeiou]y$
Я также хотел разместить здесь еще один полезный подход - по крайней мере, всегда хорошо знать: Положительный касательно предшествующего текста:
~(?<=[aeiou])y$~
Это будет соответствовать строки, оканчивающиеся на гласный + у, как «яй», но не «пухлые» ха-ха.
Пояснения:
~
: Ограничитель(?<=)
: смотреть за блок[aeiou]
: матч символов среди этих гласныхy
: матч символ буквально$
: соответствуют конец строкиВы можете играть с ним здесь идеальный онлайн редактор: https://regex101.com/r/uJ3eA8/1 :)
спасибо. как насчет выполнения обратного? хотите совместить текст, который заканчивается на y, но y НЕ предшествует гласной?
Это, кажется, работает, я надеюсь только на одно испытание, чтобы выполнить эту работу.
Regex:Match(myText, "y$", RegexOptions:IgnoreCase):Success and
not Regex:Match(myText, "[aeiou]+.$", RegexOptions:IgnoreCase):Success
Тогда вы можете сделать '~ (? antoni
Я действительно не понимаю, в чем проблема. –
Итак ... '[aeiou] y $' –
@ MathiasR.Jessen: вы уверены? ??? –