Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Поиск шаблона в строке (http://www.flasher.ru/forum/showthread.php?t=173185)

Srednas 26.12.2011 12:49

Поиск шаблона в строке
 
Здравствуйте.

подскажите, что я не так делаю.
В функцию передаётся строка, содержащая положительные или отрицательные, целые или дробные числа.
Есть шаблон (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
                }


Genzo 26.12.2011 13:27

Конечно не ответ на ваш вопрос, но strToNum, можно заменить :
Код AS3:

var str:String = "0.001";
                                var num:Number = Number(str);
                                trace(num);


Srednas 26.12.2011 14:49

Цитата:

Сообщение от Genzo (Сообщение 1053682)
Конечно не ответ на ваш вопрос, но 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



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

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