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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

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

leftMIND

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
   Регулярные выражения
Обучающий материал
  • Книги    
  • Шпаргалки: от AZJIO (AutoIt3, PCRE) от Dave Child
  • wikipedia.org - Регулярные выражения на wiki  
  • edlinsoft.blogspot.com - Регулярные выражения в .NET Framework  
  • php.ru - Синтаксис регулярных выражений  
  • php.net - Синтаксис регулярных выражений  
  • regexpstudio.com - Регулярные выражения для Delphi  
    Официальные источники:
  • docs.notepad-plus-plus.org - Официальный источник Notepad++ (англ. яз.)  
  • pcre.org - Официальный справочник движка PCRE (англ. яз.)  

  •    Тестирование регулярных выражений
    Программы
    Онлайн сервисы
  • RegexBuddy - крутая и платная  
  • RegExp - бесплатно, AZJIO, PCRE, AutoIt3  
  • Expresso  
  • The Regex Coach  
  • RegExstar, Github (AutoHotKey, PCRE)
  • Обзор программ от ManHunter    
  • regexr.com здесь в Community множество готовых регулярных выражений  
  • pagecolumn.com - для javascript  
  • pagecolumn.com - для php  
  • cuneytyilmaz.com - для javascript  
  • php-include.ru - на флеш-плеере  
  • regex101.com  
  • easyregexp.ru  
  • debuggex.com - показывает структурно  

  •    Схожие темы
  • javascript регулярные выражения
  • PHP: Регулярные выражения (RegExp, Regular, eregi, preg)
  • Игра - Регулярно выражайтесь!
     
    первое сообщение темы...
    Обсуждение шапки данной темы ведётся в этой теме
    Рекомендации по составлению вопросов в данной теме:

  • Всего записей: 33 | Зарегистр. 07-04-2002 | Отправлено: 23:55 15-10-2002 | Исправлено: AZJIO, 15:18 12-02-2021
    annatut

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нет, <p> открыты, закрывающихся в конце строки в моей ситуации не требуется. Язык текста смешанный: русский и английский

    Всего записей: 71 | Зарегистр. 20-05-2019 | Отправлено: 10:52 15-10-2022
    Mavrikii

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    annatut
    так, к примеру.. вставить, нажать кнопку, скопировать.
    https://jsfiddle.net/7gscpt0n/
    могут быть особенности, если, все же, текст в <p> многострочный

    Всего записей: 15440 | Зарегистр. 20-09-2014 | Отправлено: 11:06 15-10-2022
    annatut

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mavrikii
     
    Сработало отлично и без ошибок. Вы сэкономили мне массу времени! Огромное спасибо!

    Всего записей: 71 | Зарегистр. 20-05-2019 | Отправлено: 16:03 15-10-2022
    asku



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день.
    Вопрос.
    Даны строки с числами через запятую.
    Например,
    23,17,77,36
    4555,3,1,8
    и т.д.
     
    Можно ли только средствами регулярных выражений расположить числа в строке по возрастанию?
    Т.е.
    17,23,36,77
    и т.д.
     
    Спасибо!

    Всего записей: 573 | Зарегистр. 04-05-2016 | Отправлено: 15:54 17-10-2022
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    asku написал(а)
    Цитата:
    только средствами регулярных выражений

    нельзя.

    ----------
    Раздачи и акции

    Всего записей: 7198 | Зарегистр. 20-03-2009 | Отправлено: 20:22 17-10-2022
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Пытаюсь для гугл-таблиц сделать регулярку, которая заменяло на разный текст в зависимости от того какой найден будет рег. выражением. Но не получается.
    Условно говоря

    Код:
    =REGEXREPLACE(A1; "a"; "x")
    =REGEXREPLACE(A1; "b"; "y")
    =REGEXREPLACE(A1; "c"; "z")

    Как эти три выражения объединить в одно регулярное?

    ----------
    Раздачи и акции

    Всего записей: 7198 | Зарегистр. 20-03-2009 | Отправлено: 15:47 23-10-2022 | Исправлено: regist123, 15:48 23-10-2022
    jentoso



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    regist123
    А если через ЕСЛИМН (IFS)?

    Всего записей: 505 | Зарегистр. 25-10-2008 | Отправлено: 15:53 23-10-2022
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    jentoso написал(а)
    Цитата:
    А если через ЕСЛИМН (IFS)?

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

    ----------
    Раздачи и акции

    Всего записей: 7198 | Зарегистр. 20-03-2009 | Отправлено: 18:20 23-10-2022
    Mavrikii

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

    Цитата:
    Надеюсь, что и в регулярке через если можно сделать, но что-то не соображу как.

    вложенно
    REGEXREPLACE(REGEXREPLACE(A1; "b"; "y"); "a"; "x")
    и так далее.. ессно, когда нет общих кусков.
    https://support.google.com/docs/thread/105476322/how-do-i-replace-multiple-strings-in-one-cell-with-regexreplace

    Всего записей: 15440 | Зарегистр. 20-09-2014 | Отправлено: 21:41 23-10-2022 | Исправлено: Mavrikii, 21:41 23-10-2022
    ScatoScampi



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Заранее прошу прощения за, вероятно, очень тупой вопрос, но возможности Гугла я уже исчерпал.
     
    Нужно написать выражение, которое будет использовано для удаления лишних элементов из HTML. Имеются две картинки, мне нужно убрать вторую:
     

    Код:
    <img src="https://site.com/picture_Desktop.jpg" align="middle" class="_g-hidden-mobile"> <img src="https://site.com/picture_Mobile.jpg" align="middle" class="_g-visible-mobile">

     
    Вот такое выражение мэтчит первую картинку:
     

    Код:
    <img src=".*?" align="middle" class="_g-hidden-mobile">

     
    Однако аналогичное выражение (с другим классом) мэтчит обе картинки:
     

    Код:
    <img src=".*?" align="middle" class="_g-visible-mobile">

     
    Что я делаю не так, как выбрать только вторую картинку?
     
    Все гениальное - просто, большое спасибо bytie за помощь!

    Всего записей: 201 | Зарегистр. 08-11-2008 | Отправлено: 17:04 02-11-2022 | Исправлено: ScatoScampi, 20:38 02-11-2022
    bytie

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ScatoScampi
    Мне кажется лучше заменить
    Код:
    .*?
    на
    Код:
    [^"]+

    Всего записей: 298 | Зарегистр. 18-08-2005 | Отправлено: 19:46 02-11-2022
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Сделал регулярку для удаления дублирующих строк с текстом в Npp

    Код:
    (\w.*\r\n)\1+

    работает почти отлично, но если дублируется последняя строка, то её не удаляет. Хотелось бы и это автоматизировать. Самому не получается придумать, просьба помочь.


    ----------
    Раздачи и акции

    Всего записей: 7198 | Зарегистр. 20-03-2009 | Отправлено: 06:07 05-11-2022
    Mavrikii

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

    Цитата:
    но если дублируется последняя строка, то её не удаляет

    потому что в ней уже нет переноса строки.
    добавьте руками перенос - будет.
     
    можно и  
    (\w.*)\r\n(\1(\r\n)?)+ замена на \2
     
    \w тут точно нужен?

    Всего записей: 15440 | Зарегистр. 20-09-2014 | Отправлено: 06:26 05-11-2022 | Исправлено: Mavrikii, 06:29 05-11-2022
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mavrikii написал(а)
    Цитата:
    потому что в ней уже нет переноса строки.  
     добавьте руками перенос - будет.

    Это понятно, но regist123 написал(а)
    Цитата:
    это автоматизировать

    а руками это уже не автомат, проще тогда уже руками просто последнюю строку удалить.

    Цитата:
    \w тут точно нужен?

    У меня без него цепляет только концы строк, а так как собираюсь использовать только для текста, то не мешает.

    Цитата:
    можно и  
     (\w.*)\r\n(\1(\r\n)?)+ замена на \2

    Тоже не работает нормально. В частности фолсит вот на такой кусок

    Код:
    4uFch
    htt


    ----------
    Раздачи и акции

    Всего записей: 7198 | Зарегистр. 20-03-2009 | Отправлено: 06:56 05-11-2022 | Исправлено: regist123, 07:00 05-11-2022
    Mavrikii

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

    Цитата:
    Тоже не работает нормально. В частности фолсит вот на такой кусок

    ^(.+)\r\n(\1(\r\n)?)+ на \2
    может еще срабатывать, если в одну строчку повторяется.
     
    тогда ^(.+)\r\n(\1(\r\n|$))+

    Всего записей: 15440 | Зарегистр. 20-09-2014 | Отправлено: 07:22 05-11-2022
    annatut

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите, пожалуйста, составить регулярку для такой задачи. В каждой строке самая первая запятая должна превращаться в перенос (\r\n) и начало другой строки <p>. Остальной текст, который был в этой строке, должен сохраниться со всеми запятыми. Текст смешанный (древнегреческий, древнееврейский, английский).
    Например.
    Исходный текст:
    <p>&#7944;&#946;&#945;&#948;&#948;&#974;&#957;, &#8001;, indeclinable, &#1488;&#1489;&#1491;&#1468;&#1493;&#1503;, destruction personified; in Greek &#7944;&#960;&#959;&#955;&#955;&#973;&#969;&#957;. Apoc. 9:11. (See also &#7944;&#963;&#956;&#959;&#948;&#945;&#8150;&#959;&#962;, &#8000;&#955;&#959;&#952;&#961;&#949;&#965;&#964;&#942;&#962;, &#8000;&#955;&#959;&#952;&#961;&#949;&#973;&#969;&#957;, and compare the classical &#7948;&#964;&#951;.)</p>\r\n
    <p>&#7936;&#946;&#945;&#948;&#942;&#962;, &#941;&#962;, (&#946;&#945;&#943;&#957;&#969;) not being able to walk. Euthal. 629 A, &#960;&#8182;&#955;&#959;&#962;.</p>\r\n
    Нужно получить:
    <p>&#7944;&#946;&#945;&#948;&#948;&#974;&#957;</p>\r\n
    <p>&#8001;, indeclinable, &#1488;&#1489;&#1491;&#1468;&#1493;&#1503;, destruction personified; in Greek &#7944;&#960;&#959;&#955;&#955;&#973;&#969;&#957;. Apoc. 9:11. (See also &#7944;&#963;&#956;&#959;&#948;&#945;&#8150;&#959;&#962;, &#8000;&#955;&#959;&#952;&#961;&#949;&#965;&#964;&#942;&#962;, &#8000;&#955;&#959;&#952;&#961;&#949;&#973;&#969;&#957;, and compare the classical &#7948;&#964;&#951;.)</p>\r\n
    <p>&#7936;&#946;&#945;&#948;&#942;&#962;</p>\r\n
    <p> &#941;&#962;, (&#946;&#945;&#943;&#957;&#969;) not being able to walk. Euthal. 629 A, &#960;&#8182;&#955;&#959;&#962;.</p>\r\n
    Как сделать так, чтобы первая запятая после <p> в каждой строке превращалась в начало новой строки, а остальные запятые оставались нетронутыми?

    Всего записей: 71 | Зарегистр. 20-05-2019 | Отправлено: 10:39 12-11-2022
    Mavrikii

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    annatut
    (<p>[^,]+,)
    замена на $1\r\n
    https://regex101.com/r/UTjqzS/1
     
    если не нужно сохранить, то  
    ((<p>[^,]+),)
    на </p>$2\r\n<p>

    Всего записей: 15440 | Зарегистр. 20-09-2014 | Отправлено: 10:53 12-11-2022 | Исправлено: Mavrikii, 11:05 12-11-2022
    annatut

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mavrikii
    Благодарю за подсказку! Чуть изменил с учетом особенностей текста и поставленной задачи. Всё сработало на пятерочку!

    Всего записей: 71 | Зарегистр. 20-05-2019 | Отправлено: 11:50 17-11-2022
    Celsus



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как можно убрать мусор после слова Angel, когда кончается цикл поиска?  https://regex101.com/r/ABoDXH/1

    Всего записей: 384 | Зарегистр. 02-04-2011 | Отправлено: 10:48 20-11-2022 | Исправлено: Celsus, 10:49 20-11-2022
    Mavrikii

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

    Цитата:
    <div class.*

    убрать ?

    Всего записей: 15440 | Зарегистр. 20-09-2014 | Отправлено: 10:51 20-11-2022
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

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


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru