Показать сообщение отдельно
  #15 (permalink)  
Старый 07.10.2019, 16:24
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от laimas
Если по условию text2 может и быть, и отсутствовать, то проверять его наличие нет смысла, проверяйте только наличие text1 и text3.
Как такое может быть? Рассмотрим, например, разбор числа в JavaScript. Например, 15 и 1e+5, по вашему утверждению получается, что, поскольку подстрока e+ может и быть, а может и отсутствовать, следовательно проверять её наличие нет смысла, то получается, что это одинаковые числа!

laimas иногда провозглашает удивительнейшие вещи! Диковинка!

Сообщение от Cache
он присутствует, выражение его не сохраняет в найденных
что делаю не так?
У вас text2 необязателен, да ещё находится в окружении .*, что позволяет никогда его не находить. Я думаю, что можно рассмотреть оба варианта: наличие text2 .*(text2).* и его отсутствие .*.
<script>
var 
   str='text1 aaaaa aa aaa aaaa aaa aaa a text2 aaaa aaaa aaaa aaa aaa text3', 
   rx=/(text1)(?:.*(text2).*|.*)(text3)/;
document.write(rx.exec(str).join('<br>'));
</script>

Последний раз редактировалось Malleys, 07.10.2019 в 16:47.
Ответить с цитированием