Перейти из форума на сайт.


Система IP-видеонаблюдения "Линия". Скачать бесплатную демо-версию для 16 камер. НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярные выражения

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10

Открыть новую тему     Написать ответ в эту тему

hErAx

Редактировать | Цитировать | Сообщить модератору

Цитата:
их же тысячи
не потянет

Отправлено: 23:36 21-01-2016
crotoff

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hErAx
в моей версии AkelPad нету замены во всех файлах
 

Всего записей: 934 | Зарегистр. 17-04-2007 | Отправлено: 23:44 21-01-2016
regist123



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
crotoff предложенная мной регулярка не подошла?


----------
FAQ по восстановлению аккаунтов
Подфорум для раздач

Всего записей: 5493 | Зарегистр. 20-03-2009 | Отправлено: 00:40 22-01-2016
crotoff

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
regist123
вобщем я менял через uvFilesCorrector, у него оказывается свой синтаксис, подошло такое выражение:
</html>.{2,} - любой символ после </html> более 2 раз

Всего записей: 934 | Зарегистр. 17-04-2007 | Отправлено: 01:36 22-01-2016
V0lt_r



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть текст:
Код:
#EXTM3U
 
#EXTINF:123, Sample artist - Sample title
Sample.mp3
 
#EXTINF:321,Example Artist - Example title
Greatest Hits\Example.ogg

И регулярное выражение:
Код:
(^|\n)([^#][^\n]+)

По непонятной мне причине первой находится строка #EXTINF:123, Sample artist - Sample title, хотя строки начинающиеся с символа # по идее должны исключаться.
Что может быть не так?
 
Добавлено:
Странно, но если два раза исключить символ #, то работает:
Код:
(^|\n)([^#]{2}[^\n]+)
.
Но правилнее оказалось так:
Код:
(^|\n)(?!#)([^\n]+)

 
Всем спасибо. С праздником Победы!

Всего записей: 722 | Зарегистр. 15-11-2015 | Отправлено: 10:26 09-05-2016
Ramashika

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!!! Нужна помощь по регуляркам в С#
 
Есть текст  
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication3
{  /// class Program here
  class Program
  {
    static void Main(string[] args)
    {
      /// TODO code application logic here
      string ss="sdfsdf\"\\*sdfsdf*\\\"";
      int i /*jjjjj*/ = 0;
      string s = "\t";
      char c = '\t';
      char cc = '/';
      string str = "'";//COMMENT
      char ccc = '*';
      char cccc = '"'; //"hjhkjhkj
      Console.WriteLine("/*dfsdf*////****/**//**Hello, world!\\");/**/ //
      int ccccc = 100/'*';
      char f = '\\';
      char f1 = '\n';
      char f2 = '\"';  
      "".ToString();
    }
  }
}
 
 
из него нужно убрать комметрарии /* */ , //, и вверху многоуровневые комментарии...
 
Нужно составить 2 регулярных выражения для их нахождения ..и удалить после нахождения из текста, должен получится такой текст...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication3
{  
  class Program
  {
    static void Main(string[] args)
    {
       
      string ss="sdfsdf\"\\*sdfsdf*\\\"";
      int i  = 0;
      string s = "\t";
      char c = '\t';
      char cc = '/';
      string str = "'";
      char ccc = '*';
      char cccc = '"';  
      Console.WriteLine("/*dfsdf*////****/**//**Hello, world!\\");  
      int ccccc = 100/'*';
      char f = '\\';
      char f1 = '\n';
      char f2 = '\"';  
      "".ToString();
    }
  }
}
 
 
составила такие регулярки
 
1) для /*   */
Regex regex = new Regex(@"((\s+?|;)/\*[\s\S]*?\*/)");
 
НО не удаляет верхний комметрарий..(((
 
2) для // балбалбала
 
Regex regex = new Regex(@"(\s+?|;)//[\s\S]*$");
 
 
ПЛИЗ!!! ПОМОГИТЕ, нужна сдать в это воскресенье...

Всего записей: 22 | Зарегистр. 25-04-2014 | Отправлено: 12:35 18-11-2016
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На Perl будет так:
 
1. $text =~ s/\/\*.+?\*\///sg;   ( Удаление всех комментариев в /*....*/ )
2. $text =~ s/\s*\/\/.+?\n//g;   ( Удаление всех комментариев после //... )
 
Пробуйте портировать в С#

Всего записей: 926 | Зарегистр. 30-09-2005 | Отправлено: 11:45 19-11-2016
Hjkma

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите составить регулярку для Notepad++. Нужно чтобы такая регулярка охватывала строки с искомыми словами с пробелами или любыми знаками между них, с началом строки или переносом строки, с пробелами или любыми знаками в начале и конце слов, кроме тех слов, в которых в начало и конце слов есть еще буквы. Пример: нужно охватить строки с словами "Die Hard".
Нужно чтобы регулярка помечала такие строки как:
 1234 die hard 1234
Die-Hard
вфважодл "Die Hard" фвафва
Регулярка не должна охватить такие слова как:
вфавыаф Die Hardest ваввв
Undie hard
Die Hardd
 
Пробовал регулярку в виде ^.*(\WDie\W\Hard\W).*$, но проблема в том, что такая регулярка в Notepad++ не охватывает строки с нужными словами, которые стоят в начале или конце строк. Что посоветуете?

Всего записей: 190 | Зарегистр. 04-03-2015 | Отправлено: 08:03 04-02-2017 | Исправлено: Hjkma, 08:16 04-02-2017
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hjkma

Код:
(^|\"| )Die( |\Hard(\"| )

 

Всего записей: 926 | Зарегистр. 30-09-2005 | Отправлено: 10:49 04-02-2017 | Исправлено: Vitus_Bering, 10:52 04-02-2017
Hjkma

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vitus_Bering
Не работает такая регулярка в Notepad++
 
upd. Все, работает, поправил скопированый код, смайлик запутал.
Еще вопрос. А как это сделать с несколько запросами? Чтобы искать не только Die Hard, а еще например Terminator 2.
 
Upd2. А нет, проблема осталась та же: не помечаются строки, искомые слова которых стоят в начале и конце строк. И запрос был неправильно услышан - нужно помечать не только искомые слова, а еще всю строку, в которых содержатся искомые слова. Помимо тех слов, которые содержат в начале и конце дополнительные буквы.

Всего записей: 190 | Зарегистр. 04-03-2015 | Отправлено: 11:00 04-02-2017 | Исправлено: Hjkma, 11:15 04-02-2017
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
нужно помечать не только искомые слова, а еще всю строку

Непонятно, что Вы хотите.
Напишите примеры строк по принципу "было -> стало".

Всего записей: 926 | Зарегистр. 30-09-2005 | Отправлено: 11:19 04-02-2017 | Исправлено: Vitus_Bering, 11:20 04-02-2017
Hjkma

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vitus_Bering
Я где-то говорил про замену? Мне не нужно заменять, а нужно искать. Примеры уже даны выше. Как и детальное объяснение того, чего я хочу.

Всего записей: 190 | Зарегистр. 04-03-2015 | Отправлено: 11:23 04-02-2017
regist123



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hjkma
пробуй  

Код:
\WDie(\W)*Hard\W

 
Hjkma 09:03 04-02-2017
Цитата:
любыми знаками между них

Любой один знак или неограниченное кол-во знаков между ними?
У меня сейчас захватит и
Код:
Die-+*\.Hard  

если это не надо, то звёздочку в середине убери.
 
Добавлено:
и немного не учёл, если слова в кавычках, то и кавычки тоже надо захватить?

----------
FAQ по восстановлению аккаунтов
Подфорум для раздач

Всего записей: 5493 | Зарегистр. 20-03-2009 | Отправлено: 11:46 04-02-2017
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Всего записей: 926 | Зарегистр. 30-09-2005 | Отправлено: 11:49 04-02-2017
regist123



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hjkma 12:00 04-02-2017
Цитата:
И запрос был неправильно услышан - нужно помечать не только искомые слова, а еще всю строку, в которых содержатся искомые слова.

Обновил

Код:
.*\WDie(\W)*Hard\W.*


----------
FAQ по восстановлению аккаунтов
Подфорум для раздач

Всего записей: 5493 | Зарегистр. 20-03-2009 | Отправлено: 11:52 04-02-2017
Hjkma

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
regist123
Не работает, когда слова размещаются в начале или конце строк. И помечать нужно всю строку.
Vitus_Bering
Отлично, регулярка работает. Большое вам спасибо!

Всего записей: 190 | Зарегистр. 04-03-2015 | Отправлено: 11:55 04-02-2017
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
regist123

Цитата:
.*\WDie(\W)*Hard\W.*

 
В этом случае Die-Hard не работает

Всего записей: 926 | Зарегистр. 30-09-2005 | Отправлено: 11:55 04-02-2017
regist123



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hjkma 12:55 04-02-2017
Цитата:
Не работает, когда слова размещаются в начале или конце строк.

Пример строки можно? На приведённом вами у меня все выделяется из того что должно и не выделяется то что не должно. Я понимаю, что она первый взгляд похожа на вашу, но если сравнить, то в работе они отличаются.

Цитата:
И помечать нужно всю строку.

В предыдущем посте обновлённый вариант.
 
Добавлено:
Vitus_Bering 12:55 04-02-2017
Цитата:
В этом случае Die-Hard не работает

Всё работает
 

----------
FAQ по восстановлению аккаунтов
Подфорум для раздач

Всего записей: 5493 | Зарегистр. 20-03-2009 | Отправлено: 11:56 04-02-2017
Hjkma

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
regist123
регулярка не работает с таким строками:
die Die Hard
Die Hard die
Die Hard

Всего записей: 190 | Зарегистр. 04-03-2015 | Отправлено: 12:01 04-02-2017
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
regist123
Поставленная задача не решаема с использованием \w

Всего записей: 926 | Зарегистр. 30-09-2005 | Отправлено: 12:05 04-02-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярные выражения

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2017

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru