2016-03-25 2 views
-1

У меня есть регулярное выражение.Регулярное выражение. Регулярное выражение не работает, когда запрещенные символы находятся на второй строке.

^(?!.*&#.*)[\u00e1\u00c1\u00e9\u00c9\u00ed\u00cd\u00f3\u00d3\u00fa\u00da\u00f1\u00d1\u00fc\u00dc\u00ab\u00bb\u00bf\u00a1`\w\d\s\-'.,&@:;®?!()$#/‘’*“”"]+$ 

Вопрос в том, когда ниже вводится текст на второй строке регулярное выражение не поймать «& #», как не имеет характера. Regex не находит соответствия с вводом в одной строке. Сочетание & # не допускается. Однако, если входной сигнал подобен ниже i.e & # находится на втором месте Сочетание & # не допускается.

Это позволит. хотя запрещенные символы «& #» все еще находятся на входе. Не знаете, какая настройка необходима для регулярного выражения, если эти символы находятся на секущей линии.

+1

якорей '^' и '' $ будут соответствовать концы линии – Laurel

ответ

1

В своем регулярном выражении, заменить (?!.*&#.*) на (?![\s\S]*&#[\s\S]*)

дот . соответствует любому символу, за исключением новых линий. Это ваша ошибка.

Это соответствует всем пробелам символов \s и что все символы нераспространения \S. Это означает, что если вы используете следующий класс символов [\s\S], вы можете сопоставить каждый символ.

Хороший успех

+0

спасибо. теперь он работает с новыми линиями. –

+0

Итак, примите ответ, чтобы указать, что вопрос больше не нуждается в помощи. Хорошего дня. –

Смежные вопросы