| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Регулярные выражения > разбор строки большее число совпадений |
| Автор: z911 30.12.2009, 16:57 |
| есть строки вида 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 30.12.2009, 17:36 | ||||
или так, по идее должно вернуть x1,y1,x2,y2.....
|
| Автор: Stark 4.1.2010, 00:49 | ||||||||
такой вариант подходит если строка состоит только со строк подобного вида. Мне кажется лучше использовать негативную опережающую проверку
|