AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Регулярные выражения
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
VladSh



Joined: 29 Nov 2006
Posts: 2596
Location: Киев, Русь

PostPosted: Wed Aug 08, 2012 2:58 pm    Post subject: Reply with quote

Visitor7
В английской.
Back to top
View user's profile Send private message Visit poster's website
Visitor7



Joined: 03 Jun 2012
Posts: 88

PostPosted: Wed Aug 08, 2012 3:51 pm    Post subject: Reply with quote

VladSh wrote:
В английской.

Осилил. Там же просто про очередность. А по факту, [а-я]* все равно не находит слово "ёжик". А [a-zA-Z] не то же самое что \w, обе конструкции вполне современные, просто разные. А \w у меня не находит ничего кроме [0-9a-zA-Z_]. Так и не понял, FeyFre, что вы хотели сказать.
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2032
Location: Vinnitsa, Ukraine

PostPosted: Wed Aug 08, 2012 7:20 pm    Post subject: Reply with quote

Visitor7
Что это такое в двух словах.
Ваш collation утверждает "После Ь идет Э, потом Ю, потом Я"
Мой collation утверждает "После Ь идет Ю, потом Я"
Мы оба правы, ибо Ваш основан на Белорусском алфавите, мой - на Украинском алфавите.
Так вот, если вы хотите чтобы "[а-я]*" нашло "ёжик" то Вы должны как-то пнуть парсер что-бы он пользовался collation "Русский алфавит", т.е. в котором "а" < "ё" < "я". А судя по вашему примеру если "[а-яё]*" находит "ёжик" то парсер пользуется collation в котором "а" < "ё" < "я" не выполняется.
Как парсеру поменять collation - дело собственно индивидуальное.
Например в СУБД MySQL collation можно задать для каждой таблицы индивидуально - это свойство таблицы. В других алгоритмах, которые зависят от collation если задается, то как-то по другому - ищите. Один из вариантов - пнуть разработчика. Другой - написать/исправить самостоятельно, третий - выкинуть и взять другое. Подход индивидуален.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
eil



Joined: 15 Nov 2009
Posts: 30
Location: Alex

PostPosted: Wed Aug 08, 2012 7:54 pm    Post subject: Reply with quote

Visitor7, и вновь спасибо, за решение.
Back to top
View user's profile Send private message
Visitor7



Joined: 03 Jun 2012
Posts: 88

PostPosted: Wed Aug 08, 2012 9:06 pm    Post subject: Reply with quote

FeyFre wrote:
Ваш collation утверждает "После Ь идет Э, потом Ю, потом Я".
А вы уверены что мой collation вообще существует? Мне кажется мы говорим о разных уровнях. RegExp - это функция языка разработки на которую ровняется акелпад. Может быть, поиск в акелпаде даже этой функцией и реализуется(я не знаю языков, тем более функций си). У нее есть определенные возможности и определенный формат, в котором символы означают их код в "таблице символов" и, соответственно, диапазоны символов задают диапазоны кодов в "таблице символов". А формат "таблицы символов" жестко определен.
А то о чем говорите вы - это уровень функций пользовательского интерфейса(несколько уровней вверх) программы, специально разработанной в том числе для гибкой сортировки выборки. Если копнуть на несколько уровней глубже, то эта гибкая сортировка в БД посредством "таблиц очередности символов при сортировке", наверняка реализуется теми же RegExp функиями языка разработки, которые и слыхом не слыхивали ни про какой collation.
На уровне программиста скорее всего можно лишь переиначивать диапазоны подменами ввода типа "а-я" на "а-яё", но это лишь внесет путаницу. Можно сделать спец. символ для русского диапазона, например \с который будет подменяться на [А-Яа-яЁё] или сразу на [0-9_A-Za-zА-Яа-яЁё], но так ли часто это требуется, что запаривает лишний раз написать ЁА-ё или а-ё(при нечувствительности к регистру всего на символ больше, при чувствительности на два символа)? А в 99% текстов в обоих случаях Ё-ё сканает(всего на символ больше).
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2032
Location: Vinnitsa, Ukraine

PostPosted: Wed Aug 08, 2012 10:47 pm    Post subject: Reply with quote

Visitor7, ну раз Вы не хотите решать свою проблему а пришли сюда потролить, то собственно разговор окончен.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Visitor7



Joined: 03 Jun 2012
Posts: 88

PostPosted: Thu Aug 09, 2012 9:28 am    Post subject: Reply with quote

)) Я просто заглянул человеку ответить. Если вы так часто набираете диапазоны, попросите у автора сделать настраиваемый спецсимвол, которому каждый может присвоить свой диапазон(своего языка либо вообще иной).
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Mon Aug 13, 2012 7:24 am    Post subject: Reply with quote

Юникодный регэксп - это жесть. Конечно удобно, но реализовать хотя бы базовый функционал - застрелиться можно.
http://www.regular-expressions.info/unicode.html
http://unicode.org/reports/tr18
Back to top
View user's profile Send private message
F. Phoenix



Joined: 24 Dec 2011
Posts: 124

PostPosted: Tue Aug 14, 2012 2:21 pm    Post subject: Reply with quote

В стандартном комплекте .NET идет юникодный - можно попробовать оттуда код портировать (как вариант, из Mono), хотя может проще найти более совместимую с Акелом реализацию... Rolling Eyes А чего мне из тамошних возможностей тут главным образом не хватает, так это предпросмотра назад, хотя именованные ссылки и поддержка кириллицы в \w тоже бы не помешали.
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 27 Jul 2010
Posts: 245

PostPosted: Tue Aug 14, 2012 6:04 pm    Post subject: Reply with quote

Quote:
поддержка кириллицы в \w
Надеюсь, изменения существующего функционала будут опциональными...
Back to top
View user's profile Send private message
biglentring



Joined: 16 Sep 2012
Posts: 2

PostPosted: Sun Sep 16, 2012 2:37 pm    Post subject: Обрезка строки Reply with quote

День добрый! Подскажите пожалуста!

Есть N количество строк с разным содержанием, нужно сделать обрезку всех строк на 200+- символе, чтобы в каждой строке осталисть первые 200 символов, остальное удалить.

Пробывал .{190,200}\b в Dreamweaverе отлично находит первые 190-200 символов и выделяет их, но мне нужно выделить все что после этих 190-200 символов для автозамены пустотой.

В akelpad эта конструкция работает совсем по другому, если есть знающие люди, помогите чайнику.
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1590

PostPosted: Sun Sep 16, 2012 3:33 pm    Post subject: Reply with quote

biglentring wrote:
чтобы в каждой строке осталисть первые 200 символов, остальное удалить

Что: ^([^\n\r]{200})[^\n\r]+
Чем: \1
Back to top
View user's profile Send private message
KDJ



Joined: 06 Mar 2010
Posts: 1321
Location: Poland

PostPosted: Sun Sep 16, 2012 4:01 pm    Post subject: Reply with quote

Quote:
Что: ^([^\n\r]{200})[^\n\r]+
Чем: \1

It will work in AkelPad version 4.8.0.
http://akelpad.sourceforge.net/forum/viewtopic.php?t=1410&start=15
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1590

PostPosted: Sun Sep 16, 2012 6:14 pm    Post subject: Reply with quote

KDJ
Oh, I forgot about this.
But seems like
([^\n\r]{14})[^\n\r]+
works fine too.
Back to top
View user's profile Send private message
qvent



Joined: 05 Oct 2012
Posts: 2

PostPosted: Fri Oct 05, 2012 12:59 pm    Post subject: Reply with quote

Всем добрый день. Прошу помощи, и сильно не пинать вопрос по регулярны выражениям ,я уже голову поломал, не могу найти решение.

есть маасив строчек, в каждой строчке есть ссылка, начинающаяся с http:// , перед ссылкой и после неё есть текст. Собственно вопрос, каким образом можно удалить этот текст, и оставить только ссылки?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next
Page 5 of 7

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group