Page 6 of 13

Posted: Fri Oct 05, 2012 2:22 pm
by F. Phoenix
Найти многострочно: ^.*?(http://\S*).*?$
Заменить на: $1

Вместо \S можно прописать какой-то определенный набор допустимых в ссылке символов, а перед скобкой добавить пробел или \s, дабы отступ сделать обязательным условием - тут смотря как ссылки отделены от остального текста.

Posted: Fri Oct 05, 2012 3:10 pm
by Infocatcher
qvent
А getLinks.js не подойдет?

Posted: Fri Oct 05, 2012 3:26 pm
by qvent
Infocatcher, , браво! Спасибо огромное!!!!

Posted: Wed Oct 17, 2012 4:17 pm
by VladSh
Ребята, подскажите, как сделать так, чтобы во из всего файла оставить только уникальные фразы? То есть, если фразы 2 и более, то удалять абсолютно все вхождения этих фраз.

Posted: Wed Oct 17, 2012 5:47 pm
by DV
VladSh wrote:как сделать так, чтобы во из всего файла оставить только уникальные фразы?
Алгоритм примерно такой:
1. дать определение, что такое "фраза", и чем она ограничена
2. на основании пункта 1 сформировать правила для написания кода
3. на основании пункта 2 написать код :)
Без скрипта, думается, не обойтись (вначале проверить, что кол-во вхождений >= 2, затем ReplaceAll на пустую строку).

Posted: Wed Oct 17, 2012 7:35 pm
by KDJ
VladSh
Assuming that "фраза" is any sequence of characters (minimum 3) delimited by spaces or begining/end of line:

Code: Select all

var oRE1 = /(^| )(.{3,})( |$)(.+?)\2/m;
var oRE2;
var sText;
var aMatch;

AkelPad.SetSel(0, -1);
sText = AkelPad.GetSelText();

while (aMatch = oRE1.exec(sText))
{
  aMatch[2] = aMatch[2].replace(/[\\\/.^$+*?|()\[\]{}]/g, "\\$&");
  oRE2 = new RegExp(aMatch[2], "g");
  sText = sText.replace(oRE2, "");
}

AkelPad.ReplaceSel(sText);

Posted: Thu Oct 18, 2012 8:21 am
by VladSh
DV, KDJ
Thank you very much!
More please tell me how to change the code if need only "begining / end of line"?

Posted: Thu Oct 18, 2012 10:18 am
by KDJ
VladSh
If "фраза" means entire line, you can use "Format::LineGetUnique" from Format plugin.

Posted: Thu Oct 18, 2012 1:52 pm
by VladSh
KDJ
Thanks, I forgot something about it)

найти начало строки

Posted: Tue Nov 06, 2012 3:39 pm
by Mr.Merak
А подскажите плз, как в диалоге замены указать начало строки?

Posted: Tue Nov 06, 2012 7:06 pm
by KDJ
Mr.Merak
Regular expressions: ^

Posted: Tue Nov 06, 2012 8:30 pm
by Serge Yolkin
KDJ
??? Don't work...

Posted: Tue Nov 06, 2012 9:01 pm
by KDJ
Serge Yolkin
Oh yes, in AkelPad version 4.7.9 is a bug.
Will work in ver. 4.8.0: http://akelpad.sourceforge.net/files/AkelPad.zip

Posted: Thu Nov 08, 2012 2:43 pm
by Andrey_A_A
Помогите пожалуйста, голову сломал - нужно получить из путей "дедушкино" имя одним рег. выражением, чтобы из

C:\02\111\папка\ осталось 02

а от

C:\_02\111\папка\файл.txt осталось 111

разными получается, может одним рег. получится

Posted: Thu Nov 08, 2012 2:46 pm
by VladSh
Andrey_A_A
Напиши для примера, интересно же :)