Показать сообщение отдельно
  #1 (permalink)  
Старый 21.03.2013, 13:38
Интересующийся
Отправить личное сообщение для Andrej_N Посмотреть профиль Найти все сообщения от Andrej_N
 
Регистрация: 15.10.2010
Сообщений: 10

Регулярка: найти до первого нужного символа-разделителя
Здравствуйте!

Не поможете с наводкой, а то я чувствую, что не в ту степь полез и должно существовать простое решение.

Есть, к примеру, некая переменная, в которой хранятся некоторые данные (любого типа) с разделитем, скажем, в виде тире:

nabor='1a-2a-3a-4a';

Нужно из этой переменной взять первое значение, т.е. все что до первого тире, т.е. "1a".

Пытаюсь сделать это регуляркой, но находит все что до последнего тире, т.е. "1a-2a-3a". В чем ошибка?

<html>
<body>
<script>
nabor='1a-2a-3a-4a';
pervoe_znatshenie=nabor.replace(/(.{1,})-.{1,}/, '$1');//-Нахожу 1 и более повторений любого символа до последнего тире (.{1,}) -- их и забираю, а потом вывожу через $1, после которого идет все что угодно .{1,}

alert (' nabor='+nabor+'\n pervoe_znatshenie='+pervoe_znatshenie);

</script>
</body>
</html>


И еще вопрос, можно ли как-то регуляркой считать нужные символы, чтобы, к примеру, можно было найти все что между вторым и третьим тире,
т.е. "3a"?

Пожалуйста, направьте на правильный путь!
Ответить с цитированием