Как использовать выражение lookahead, чтобы определить, существует ли какой-либо символ не более определенного количества строк в строке.
Например, скажем, я хочу проверить строку с хотя бы одним символом, чтобы убедиться, что она содержит "@" не более 2 раз. Заранее спасибо. Использование python, если это имеет значение.
Ответ 1
Существует много способов сделать это, например:
/^(?=([^@]*@){,2}[^@]*$)./
Ответ 2
Используя отрицательное утверждение, вы можете убедиться, что @не появляется три раза:
(?!.*@.*@.*@.*).*
Ответ 3
Я считаю, что ответ Mark не работает, так как вам нужно исключить @из соответствия в другое время. Попробуйте следующее:
^(?=(([^@]*@){0,2}[^@]*$))
Изменить:
Марк исправил свой ответ, наш должен быть таким же, как сейчас. Кроме того, исправлено.