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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

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
    Celsus



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    regist123
    Вот весь код
    view-source:https://www.beatport.com/label/interplay-global/93385/releases
    Там после блоков ссылок идет закрытие тега ul и дальше вроде CSS и какието другие записи

    Всего записей: 369 | Зарегистр. 02-04-2011 | Отправлено: 17:01 29-09-2022
    B2269

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста, может кто-нибудь знает, как в Notepad++ из текста удалить все кириллические буквы, знаки пунктуации и пробелы? Оставить только цифры и латинские буквы.

    Всего записей: 22 | Зарегистр. 01-01-2022 | Отправлено: 18:59 01-10-2022
    U235

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    B2269
    "найти"
    Код:
    [^a-zA-Z0-9]

    "заменить на" пусто

    Всего записей: 885 | Зарегистр. 14-12-2005 | Отправлено: 19:20 01-10-2022
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    B2269 написал(а)
    Цитата:
    в Notepad++ из текста удалить все кириллические буквы, знаки пунктуации и пробелы? Оставить только цифры и латинские буквы.

    Найти  

    Код:
    [А-ЯЁ,\s]+

    заменить на пусто.
    По знакам пунктуации сами допишите там какие нужно, не забудьте только что например точку надо экранировать, то есть вписывать её так
    Код:
    \.


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

    Всего записей: 7189 | Зарегистр. 20-03-2009 | Отправлено: 19:27 01-10-2022
    B2269

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    U235
    О подходит, спасибо, вот только она делает текст в одну строку, можно это исправить?
     
    regist123
    Спасибо, но таже проблема, делает текст одной строкой.

    Всего записей: 22 | Зарегистр. 01-01-2022 | Отправлено: 19:29 01-10-2022 | Исправлено: B2269, 19:32 01-10-2022
    regist123



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

    Код:
    [А-ЯЁ, ]+


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

    Всего записей: 7189 | Зарегистр. 20-03-2009 | Отправлено: 19:49 01-10-2022
    Mavrikii

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    B2269
    [^a-zA-Z0-9\n]

    Всего записей: 15183 | Зарегистр. 20-09-2014 | Отправлено: 20:12 01-10-2022
    B2269

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    regist123
    Mavrikii
    Спасибо большое, всё получилось.

    Всего записей: 22 | Зарегистр. 01-01-2022 | Отправлено: 21:08 01-10-2022
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    B2269, на всякий случай обратите внимание, что в работе наших регулярок есть небольшие отличия.
    Регулярка от Mavrikii захватит не только знаки пунктуации, но например и "*", "+"" и т.д.
    Моя только то что там перечислить, но требуется их все перечислять (либо добавить в регулярку Mavrikii то что не требуется захватывать, в зависимости чего меньше - удобней).

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

    Всего записей: 7189 | Зарегистр. 20-03-2009 | Отправлено: 22:03 01-10-2022 | Исправлено: regist123, 22:06 01-10-2022
    Mavrikii

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

    Цитата:
    захватит не только знаки пунктуации, но например и "*", "+"" и т.д.

    так явно же сказано

    Цитата:
    Оставить только цифры и латинские буквы.


    Всего записей: 15183 | Зарегистр. 20-09-2014 | Отправлено: 22:08 01-10-2022
    regist123



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

    На мой взгляд есть целый ряд символов которые не являются латинскими буквами или цифрами и также не являются знаками пунктуации.
    И я не говорю, что какая-то регулярка хуже, а другая лучше. Я всего-лишь обратил внимание пользователя на этот нюанс. А он пусть сам из своей задачи решает.
    Может действительно там кроме запятой и пробелам в тексте нету других не букво-цифровых символов, тогда вообще без разницы что использовать.

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

    Всего записей: 7189 | Зарегистр. 20-03-2009 | Отправлено: 22:35 01-10-2022
    B2269

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mavrikii
    regist123
    Действительно, больше подошёл способ с исключением, а то я уже пытался найти регулярку со всевозможными знаками, в т.ч. "*", "+", но не нашёл. Правда, пожрались иноязычные буквы вроде "î", "é", "ö", ведь нет простого способа превратить их в "I", "E", "O"?
     
    Ещё интересует регулярка для удаления начала строк до пробела. Не получается сделать так, чтобы выражение лишь однократно выполнялось в строке, а не продолжало удалять дальше.
     
    Было:
    12345 тест1 тест1 тест1
    123 тест2 тест2 тест2
    абвгд тест3 тест3 тест3
    Стало:
    тест1 тест1 тест1
    тест2 тест2 тест2
    тест3 тест3 тест3

    Всего записей: 22 | Зарегистр. 01-01-2022 | Отправлено: 18:31 02-10-2022 | Исправлено: B2269, 18:43 02-10-2022
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    B2269 написал(а)
    Цитата:
    я уже пытался найти регулярку со всевозможными знаками, в т.ч. "*", "+", но не нашёл.

    Попробуйте эту  

    Код:
    [А-ЯЁ, \+\*!\?\^\$\(\)\<\>\[\]\\\|\*:]+

    Остальные символы если какие не хватает (если решите использовать эту), то просто допишите тут внутр квадратных скобок или если будут проблемы, то пишите, что нужно.

    Цитата:
    пожрались иноязычные буквы вроде "&#238;", "&#233;", "&#246;"

    Если их нужно оставить, то аналогично просто допишите в регулярку от Mavrikii сразу после 9 до \n]

    Цитата:
    Было:  
     12345 тест1 тест1 тест1  
     123 тест2 тест2 тест2  
     абвгд тест3 тест3 тест3  
     Стало:  
     тест1 тест1 тест1  
     тест2 тест2 тест2  
     тест3 тест3 тест3

    Не совсем понятно. Надо удалять только до 1-го пробела?
    После него текст действительно повторяется?
    То есть именно
    Цитата:
    12345 тест1 тест1 тест1
    а не
    Цитата:
    12345 тест1 тест2 тест3
    ?
     
     
    Добавлено:
    Вот эта найдёт до первого пробела включая пробел

    Код:
    ^(\w)+\s

    При условие, что строка начинается со слова. Если надо учитывать, что она может начинаться с пробела, то скажите.

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

    Всего записей: 7189 | Зарегистр. 20-03-2009 | Отправлено: 19:17 02-10-2022
    B2269

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

    Цитата:
     Попробуйте эту  

    Спасибо, подошло и без лишнего удаления.

    Цитата:
    Не совсем понятно. Надо удалять только до 1-го пробела?
    После него текст действительно повторяется?  
    Да, почистить начало каждой строки до пробела. Текст не повторяется.

    Цитата:
     Вот эта найдёт до первого пробела включая пробел  

    Проблема в том, что регулярки отрабатывают в строке несколько раз, т.е. удаляют и до второго/третьего пробела и т.д. Хотя, если нажимать поиск далее, Notepad++ всё правильно подсвечивает каждую строку только до первого пробела.
     

    Код:
    Есть:
    12345 текст1 текст2 текст3 (864367) текст4
    Нужно:  
    текст1 текст2 текст3 (864367) текст4
    Что получается после регулярки: ^(\w)+\s
    (864367) текст4

    Всего записей: 22 | Зарегистр. 01-01-2022 | Отправлено: 21:59 02-10-2022 | Исправлено: B2269, 23:04 02-10-2022
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    B2269 написал(а)
    Цитата:
    Проблема в том, что регулярки отрабатывают в строке несколько раз, т.е. удаляют и до второго/третьего пробела и т.д. Хотя, если нажимать поиск далее, Notepad++ всё правильно подсвечивает каждую строку только до первого пробела.    

    Проверил, если не удалять как минимум в первый проход пробел после слова, то отрабатывает нормально. Пробуйте

    Код:
    ^(\w)+

    А потом пробелы можно будет убрать либо регуляркой, либо меню Правка - Операции с Пробелами - выбираете нужный пункт, например убрать начальные Пробелы.

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

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

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

    Цитата:
    Да, почистить начало каждой строки до пробела. Текст не повторяется

    ^[^\s]+\s(.*)$ замена на $1
    включая пробел, как я понимаю, а не ДО пробела.

    Всего записей: 15183 | Зарегистр. 20-09-2014 | Отправлено: 23:22 02-10-2022 | Исправлено: Mavrikii, 02:38 03-10-2022
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    B2269 написал(а)
    Цитата:
    ведь нет простого способа превратить их в "I", "E", "O"?

    Можете переделать под себя регулярку по ссылке или раз используете Notepad++ то даже взять макрос для него:
    http://forum.ru-board.com/topic.cgi?forum=5&topic=48204&start=60#14
    http://forum.ru-board.com/topic.cgi?forum=5&topic=48204&start=60#19

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

    Всего записей: 7189 | Зарегистр. 20-03-2009 | Отправлено: 11:29 03-10-2022
    B2269

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    regist123
    Mavrikii
    Спасибо, оба варианта рабочие. Жаль, сложно понять логику, чтобы запомнить на будущее.
     
     
    Вот сейчас пытаюсь в списке, удалить названия файлов, оставив только расширения. Пробую способ с исключением нужного справа до первой точки, [^\..*$], но не получается. Опять же, если в тексте одна точка, то всё работает, а если несколько, то захватывает до крайней слева.

    Всего записей: 22 | Зарегистр. 01-01-2022 | Отправлено: 12:04 03-10-2022 | Исправлено: B2269, 12:19 03-10-2022
    regist123



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

    Почитайте шапку, там есть ссылки, даже просто статья в википедии достачно информативная по регуляркам. Попробуйте разобрать их сами.
    А так если в общем моя ищёт от начала строки слово.
    Регулярка Mavrikii ищёт строку не начинающуюся с пробела и содержимое после первого пробела. Потом вы обратно заменяете на найденное содержимое после пробела.
     
    Добавлено:
    B2269 написал(а)
    Цитата:
    пытаюсь в списке, удалить названия файлов, оставив только расширения.

    давайте пример списка. Ибо тут имена файлов как в столбик или в строчку? Есть ли там кроме имён файлов другой текст?
     
    Добавлено:
    Если имена в столбик и строка кончается расширением, то можно найти

    Код:
    .*\.(\w{3,4})$

    заменить на

    Код:
    $1


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

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

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

    Цитата:
    Можете переделать под себя регулярку по ссылке или раз используете Notepad++ то даже взять макрос для него:  
    Спасибо, кстати, похоже, можно просто средствами Notepad++ "преобразовать в ANSI", не знаю есть ли подводные, но "&#246;" становится "o".

    Цитата:
    Почитайте шапку, там есть ссылки, даже просто статья в википедии достачно информативная по регуляркам. Попробуйте разобрать их сами.  
    Читаю конечно все ссылки, но писать не очень получается.

    Цитата:
     Если имена в столбик и строка кончается расширением, то можно найти  

    Именно так. Почти, но не отработало с расширением состоящим из двух букв.

    Всего записей: 22 | Зарегистр. 01-01-2022 | Отправлено: 12:40 03-10-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

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


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru