imho.ws |
![]() |
![]() |
![]() |
# 41 | |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
А это и так все вырезается, точнее это считается разделителем полей, и по нему едлится, оно никуда не попадает.
Цитата:
![]() Если при этом нужно еще что-то с собой захватить, например пустые строки ДО или ПОСЛЕ, то просто допишите это в регулярное выражение, типа: Код:
#!/bin/gawk --file BEGIN { RS="\n* +===[0-9]===\n \n \n+" } { print $0 }
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
![]() |
![]() |
# 46 |
Full Member
Регистрация: 11.12.2002
Сообщения: 864
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Да навалом таких прог - ищи "regular expression tester "
https://addons.mozilla.org/en-US/firefox/addon/2077 http://www.codeproject.com/dotnet/expresso.asp http://weitz.de/regex-coach/ он-лайн http://www.quanetic.com/regex.php |
![]() |
![]() |
# 48 | |
Full Member
Регистрация: 15.09.2004
Адрес: Палата74@Дурдом.RU
Пол: Male
Сообщения: 593
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
__________________
Количество ума на Земле постоянно, а население растёт... |
|
![]() |
![]() |
# 49 |
Full Member
Регистрация: 15.11.2002
Адрес: Moscow
Сообщения: 834
![]() ![]() ![]() ![]() ![]() |
господа, а кто знает - в Delphi 7 регулярные выражения поддерживаются?
как бы разобрать ими параметры командной строки: application.exe /new /file="C:\Program Files\Test\test.doc" /name="Очень-очень важный документ" чтоб в отдельной переменной получить значение параметра file, в другой переменной - name (при этом каждый параметр необязателен) |
![]() |
![]() |
# 50 | ||
Full Member
Регистрация: 15.09.2004
Адрес: Палата74@Дурдом.RU
Пол: Male
Сообщения: 593
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Цитата:
![]()
__________________
Количество ума на Земле постоянно, а население растёт... |
||
![]() |
![]() |
# 52 | |
Full Member
Регистрация: 15.09.2004
Адрес: Палата74@Дурдом.RU
Пол: Male
Сообщения: 593
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
![]() А в общем случае универсальнее регулярных выражений пока ничего не придумали ![]()
__________________
Количество ума на Земле постоянно, а население растёт... |
|
![]() |
![]() |
# 53 |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Еще как придумали, даже стандартизовали getopt, getopt_long в POSIX. Для винды тоже где-то помнится видел подобную реализацию.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
![]() |
![]() |
# 54 | |
Full Member
Регистрация: 15.09.2004
Адрес: Палата74@Дурдом.RU
Пол: Male
Сообщения: 593
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
![]()
__________________
Количество ума на Земле постоянно, а население растёт... |
|
![]() |
![]() |
# 55 |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
В смысле парсинга опций командной строки - да. Регулярные выражения слишком общие, мощный инструмент, который в принципе (а почему бы и нет?) может быть положен в основу написания библиотеки разбора аргументов, вроде getopt. Сами по себе же, регулярные выражения не есть инструмент разбора аргументов командной строки.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
![]() |
![]() |
# 57 |
Full Member
Регистрация: 15.09.2004
Адрес: Палата74@Дурдом.RU
Пол: Male
Сообщения: 593
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
"Да не согласный я!" (с) П.П. Шариков, Собачье сердце
![]() Ну и чем они универсальнее? Регулярные выражения разумеется "не есть инструмент разбора аргументов командной строки", это есть инструмент разбора какой угодно строки (или многих строк). Не вижу смысла изобретать какие-то специфические штуки, если есть готовый, универсальный, кросплатформенный и к тому же достаточно легкий механизм. Ну возможно для каких-то специфических случаев, если они часто используется в проекте, можно оформить вызов в виде отдельной функции, на то они (функции) и предназначены. Но ваять целую библиотеку... ![]() ![]()
__________________
Количество ума на Земле постоянно, а население растёт... |
![]() |
![]() |
# 59 |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
По такой логике можно черти до чего дойти, например абсолютно логично будет и следующее вывести: а зачем тогда регулярные выражения? Ведь можно посимвольно считывать и разбирать все. Причем любую строку, а не только строку аргументов.
Ну и чтобы понять зачем библиотека и что она делает - можете просто посмотреть исходники, или почитать об ее опциях/возможностях в любом учебнике по азам программирования в *NIX.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
![]() |
![]() |
# 60 | |||
Full Member
Регистрация: 15.09.2004
Адрес: Палата74@Дурдом.RU
Пол: Male
Сообщения: 593
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Это, конечно, дело хорошее, спору нет. Когда необходимость есть.
Цитата:
Регулярные - как раз золотая середина ![]() Вернись, плиз, чуть раньше по треду - человек задал вполне конкретный вопрос: Цитата:
Цитата:
![]() Не хочется мне здесь флеймить за никсы/позиксы/итп - топик не совсем тот ![]() да и разговор этот явно для большой бочки пива ![]()
__________________
Количество ума на Земле постоянно, а население растёт... Последний раз редактировалось Gr@nd@d; 15.11.2007 в 10:04. |
|||
![]() |