Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.12.2011, 12:49
Srednas вне форума Посмотреть профиль Отправить личное сообщение для Srednas Найти все сообщения от Srednas
  № 1  
Ответить с цитированием
Srednas

Регистрация: Nov 2010
Сообщений: 430
По умолчанию Поиск шаблона в строке

Здравствуйте.

подскажите, что я не так делаю.
В функцию передаётся строка, содержащая положительные или отрицательные, целые или дробные числа.
Есть шаблон (pattern) для чисел. pattern.test выдает true (есть совпадения по шаблону), но после применения s.match(pattern) массив оказывается пустым.

Код AS3:
		private function strToNum(s:String):void{
			var tempArray:Array = new Array;
			var pattern:RegExp = /\-? \d* \.? \d*/xg;
			tempArray = s.match(pattern);
			trace(pattern.test(s));   // true
			trace(tempArray.length);  // 0
			trace(s.match(pattern).length);  // 0
		}

Старый 26.12.2011, 13:27
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 2  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Конечно не ответ на ваш вопрос, но strToNum, можно заменить :
Код AS3:
var str:String = "0.001";
				var num:Number = Number(str);
				trace(num);
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 26.12.2011, 14:49
Srednas вне форума Посмотреть профиль Отправить личное сообщение для Srednas Найти все сообщения от Srednas
  № 3  
Ответить с цитированием
Srednas

Регистрация: Nov 2010
Сообщений: 430
Цитата:
Сообщение от Genzo Посмотреть сообщение
Конечно не ответ на ваш вопрос, но strToNum, можно заменить :
Код AS3:
var str:String = "0.001";
				var num:Number = Number(str);
				trace(num);
Не совсем.
В строке могут быть любые символы, например: «координаты вершин тр-ка: (-1, 45) (3.345, -56.8) (0, 17)»



UPD
Решение:


Проблема в шаблоне:
заменил * на + и все заработало. Т.е. нужно написать

Код AS3:
var pattern:RegExp = /\-?\d+\.?\d*/xg


Последний раз редактировалось Srednas; 26.12.2011 в 15:58.
Создать новую тему Ответ Часовой пояс GMT +4, время: 21:05.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
match , pattern , regexp

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:05.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.