Как уже отмечалось, фрагмент кода, который вы разместили, на самом деле не сосредоточен на 5 символах, которые вы хотите исследовать.Я не могу сказать, было ли это потому, что оно было неправильно написано, или потому что код никогда не работал как задумано, или что-то еще.но, как написано, это говорит только о том, что где-то в строке есть Y, окруженный другими символами, так что в общей сложности не менее 5 символов.
WHY does this match NNNNN
будет соответствовать этому критерию, потому что 3-й символ вСтрока представляет собой Y, окруженный некоторыми другими символами, таким образом, сумма составляет не менее 5.
Если вы имеете в виду, что вы всегда смотрите на последний 5 символов - если блок tre изN
s и Y
s находятся в конце строки - тогда ваш исходный код будет работать, если он удалит завершающий %
из каждого шаблона.
В этом случае может быть прощевозьмите последние 5 символов строки (с функцией подстроки, предоставляемой вашей текущей СУБД) и найдите любой Y
в этой подстроке.В этом случае, если вы действительно хотите использовать регулярное выражение, вы просто хотите найти соответствие «Y» в любом месте подстроки, но это, вероятно, излишне.
В общем, это не кажется подходящим для регулярного выражения.раствор ИМО