![]() |
Модераторы: ginnie |
![]() ![]() ![]() |
|
z911 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 30.12.2009 Репутация: нет Всего: нет |
есть строки вида
Data=(99.237350,88.640575),(99.237422,88.640598),(99.237438,88.640491),(94.237365,88.640468),(99.235298,88.630493) представляет собой данные полигона количество узлов полигона (то что в скобках) произвольно необходимо отловить только строки где ровно четыре узла if ((m/(Data=\(.*?\),\(.*?\),\(.*?\),\(.*?\))/))) ... сравниваю так, но отлавливаются строки в которых четыре и более узла. Добавление в конец \n не помогает. кроме того, как изящно сразу сделать приравнивание переменных x1,y1 x2,y2 x3,y3 x4,y4 разбираемых данных (те что в скобках) |
|||
|
||||
patap |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 893 Регистрация: 7.5.2005 Где: Украина, Зп Репутация: нет Всего: 40 |
или так, по идее должно вернуть x1,y1,x2,y2.....
Это сообщение отредактировал(а) patap - 30.12.2009, 17:49 -------------------- На боку кобура болталась, сзади шашка отцовская звякала. Впереди меня все хохотало, а позади все плакало (с) |
||||
|
|||||
Stark |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 18.2.2008 Репутация: нет Всего: 1 |
такой вариант подходит если строка состоит только со строк подобного вида. Мне кажется лучше использовать негативную опережающую проверку
|
||||||||
|
|||||||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |