Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
3 / 3 / 0
Регистрация: 17.05.2016
Сообщений: 20
AS 3.0

Регулярное выражение игнорирует спец символ \n

18.05.2016, 01:13. Показов 1459. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется:
Регулярное выражение-
ActionScript 3
1
/G00 Z[0-9]+.[0-9]{6}\nG00 X[0-9]+.[0-9]{6} Y[0-9]+.[0-9]{6}\n+G01 Z[0-9]+.[0-9]{6} F[0-9]+.?[0-9]?\(Penetrate\)/g
Часть текста для обработки:
(Start cutting path id: path4192-3-3-9-2-5)
(Change tool to Cylindrical cutter)

G00 Z20.000000
G00 X1541.202253 Y32.673417

G01 Z3.000000 F100.0(Penetrate)
G03 X139.031141 Y32.637796 Z3.000000 I0.000000 J-66.183996 F400.000000
G03 X136.862254 Y32.534219 Z3.000000 I2.388801 J-72.780842
G03 X126.029999 Y31.142249 Z3.000000 I5.248253 J-83.685759
Так же: Большинство популярных сервисов за исключением одного выделяют подстроку
G00 Z20.000000
G00 X1541.202253 Y32.673417

G01 Z3.000000 F100.0(Penetrate)
AS3 игнорирует спец символ \n в методах match(), replace(), search() и test()
Хранилищем текста в AS3 является URLLoader, как альтернатива TextField

ActionScript 3
1
2
3
4
5
6
7
8
9
10
var RE:RegExp = new RegExp("G00 Z[0-9]+.[0-9]{6}\nG00 X[0-9]+.[0-9]{6} Y[0-9]+.[0-9]{6}\n+G01 Z[0-9]+.[0-9]{6} F[0-9]+.?[0-9]?\(Penetrate\)","g");
var urlGcode:URLRequest = new URLRequest("A_0001.gcode");
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.TEXT; //Знаю что формат по стандарту и так TEXT, береженого бог...
urlLoader.load(urlGcode);
urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
function urlLoader_complete(e:Event):void
{
trace("Совпадение - ", RE.test(urlLoader.data));
}
Вывод: Совпадение - false

Дабы избежать лишних вопросов:
1. Да, мне надо выделить многострочную подстроку как бы это не звучало, мне нужен именно фрагмент текста, состоящий из не одной строки, который можно найти либо по формуле регулярного выражения либо иным способом, который я не могу придумать.
2. Вместо спец символа "\n" я уже использовал спецсимвол "|" в регулярном выражении и соответственно я нашел все строчки по отдельности, но совпадений в полном тексте ожидается более 200 и надо будет сгруппировать то неизвестное количество строк в многострочный текст. Соответственно нужно придумать алгоритм который соединял бы найденные строки в многострочный текст по особому правилу, которое и так уже описано в регулярном выражении, которое не работает в коде.

Есть какие мысли? 4 день мучаю эту регулярку.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.05.2016, 01:13
Ответы с готовыми решениями:

Регулярное выражение: исключить символ
Есть строка $28'405 С помощью регулярного выражения мне нужно достать число. Вот моя регулярка \D*(\d*'\d*) но она достает 28'405, а...

Скобка как символ, а не регулярное выражение
Всем доброго времени суток! Пытаюсь выполнить замену подстроки в строке, но не выходит String a = "dsfgjhf 3204 (dkfgjkl...

Вырезать символ из строки, регулярное выражение
Подскажите пожалуйста как из строки std::string s = "string\.txt"; вырезать сиивол "\"

3
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
18.05.2016, 01:50
Лучший ответ Сообщение было отмечено Leon Sadeness как решение

Решение

Может там конец строки не просто \n, а последовательность \r\n.
ActionScript 3
1
var RE:RegExp = new RegExp("G00 Z[0-9]+.[0-9]{6}\r\nG00 X[0-9]+.[0-9]{6} Y[0-9]+.[0-9]{6}\r\n\r\nG01 Z[0-9]+.[0-9]{6} F[0-9]+.?[0-9]?\(Penetrate\)","g");
1
3 / 3 / 0
Регистрация: 17.05.2016
Сообщений: 20
18.05.2016, 01:59  [ТС]
Цитата Сообщение от Emilien Посмотреть сообщение
Может там конец строки не просто \n, а последовательность \r\n.
Попробовал:
Вывод: Совпадение - false
Так же проверил на конструкторах регулярных выражений - тоже не находит.
0
3 / 3 / 0
Регистрация: 17.05.2016
Сообщений: 20
18.05.2016, 06:17  [ТС]
Разобрался!!!!
В первую очередь большое спасибо Emilien, который правильно подсказал!

После его ответа вариант не сработал, потому как я использовал другой файл текста, у которого был формат конца строки UNIX, а я искал строчку оканчивающуюся на ACSII символы CR LF как предложил Emilien.

Расставила все на свои места программа Notepad ++ где благодаря функциям я посмотрел символы конца строки и перекодировал их в нужный формат.
Все заработало! Еще раз спасибо Emilien.
Миниатюры
Регулярное выражение игнорирует спец символ \n   Регулярное выражение игнорирует спец символ \n   Регулярное выражение игнорирует спец символ \n  

Регулярное выражение игнорирует спец символ \n  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.05.2016, 06:17
Помогаю со студенческими работами здесь

Как составить регулярное выражение, которое бы искало символ ^
Есть выражение, которое ищет все символы, кроме тех, что указаны с символом отрицания. ^+$ Соответственно символ ^, должен...

Расшифруйте приведенное регулярное выражение, что означает каждый символ?
"//"

Построить регулярное выражение "Множество слов, в которых за символом b, обязательно стоит символ с"
Форумчане, нуждаюсь в вашей помощи. Необходимо построить регулярное выражение, соответствующее языку: "Множество слов, в которых...

Fscanf игнорирует символ '\n'
Здравствуйте. Хочу решить следующую задачу: дан текстовый файл, считать из него информацию и перезаписать ее в новый файл изменив слово...

tty игнорирует символ (0x03)
Доброго времени суток! Есть устройство на базе микроконтроллера, подключается через USB к машине с линуксом. Передача данных в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru