RegExp: почему не находится подстрока?

  • Автор темы Автор темы hulk1776
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

hulk1776

Топикстартер
15 лет на форуме
Сообщения
738
Реакции
21
str = "1 2 55566" //мне надо отыскать числа из более, чем трех знаков (вернее их не должно быть, поэтом хочу на основании этой проверки сделать последующую остановку скрипта)

re = new RegExp('/\d\d\d\d');
re1 = new RegExp('/\d{3, }')
found = str.match(re);
found1 = str.match(re1);

Оба found'a = null. То есть ничего не ищется. А почему?
 
Ответ: RegExp: почему не находится подстрока?

Комментарий модератора: hulk1776,
одна тема — один вопрос. Не забывайте, пожалуйста.
 
Ответ: RegExp: почему не находится подстрока?

А Вы уверены что у Вас регулярки правильно написаны?
чем трех знаков
вообщето \d это цифры
Код:
'/\d\d\d\d' =>или так '/\d\d\d\d/' или '\d\d\d\d'
(это 4-ре цифры последовательно)
Код:
re1 = new RegExp('/\d{3, }') => /\d{3}/ => \d{3}
если проблема только в этом.
Не думаю что синтаксис регулярок отличается в языках.
А для проверки используйте конструкторы регулярок.
Например [/COLOR]http://regexr.com?33vkg откуда, заодно, можно и вставить пример
 
Ответ: RegExp: почему не находится подстрока?

Да-да, я не точно высказался. Нужно найти в строке 4 и более цифр (а не просто знаков). За сайт - спасибо. Он мне показал, что маска \d{4,} найдет в строке "str = "1 2 55566"" последнее пятизначное число. Однако в ESTK оно не находится. А подстрока re = ' {2,}' - находится.
Итак, еще раз:
str = "1 2 55566" // строка для поиска
re = ' {2,}'; // два и более пробела
re1 = '\d{4,}'; //четыре и более цифры
alert(s tr.match(re)); -- два пробела нашлись!
alert(str.match(re1)); -- четыре и более цифры НЕ нашлось!? Как это? (ESTK-jsx).
 
Ответ: RegExp: почему не находится подстрока?

Новая информация:
сработало так (через 1,5 часа стука лбом об стену):
re = ' {2,}';
re1 = /\d{3,}/;
не понимаю логику - почему надо писать то с кавычками, то со слешами? суровый мир regexp'a...
 
Ответ: RegExp: почему не находится подстрока?

Кое-что уже нашел полезного. Спасибо!
 
Статус
Закрыто для дальнейших ответов.