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

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

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

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
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer
    Цитата:
    тоже самое, только слова некоторые почему то посливались вместе.

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

    Всего записей: 1305 | Зарегистр. 17-01-2011 | Отправлено: 10:18 07-12-2019 | Исправлено: Jonmey, 10:21 07-12-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mavrikii
    Спасибо.
     
    Jonmey
    Нинада, я стараюсь)
     

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 10:47 07-12-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите регулярку чтобы находить цифры точно.
    Например надо найти: 9.1(в начале и после может быть любой знак), и чтобы она не путала с 19.1 или 9.12.

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 19:08 21-12-2019
    Mavrikii

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer
    (^|[^0-9]+)9\.1([^0-9]+|$)

    Всего записей: 15024 | Зарегистр. 20-09-2014 | Отправлено: 19:13 21-12-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mavrikii
    Работает, только когда просто 9 стоит ее тоже захватывает, может из-за пробелов, не знаю.

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 19:26 21-12-2019
    Mavrikii

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

    Цитата:
    только когда просто 9 стоит ее тоже захватывает

    не понимаю о чем вы. вы просите находить определенные числа?
    этот пример для 9.1

    Всего записей: 15024 | Зарегистр. 20-09-2014 | Отправлено: 19:29 21-12-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mavrikii
    Ну я искал 9.1, и нашлось так же 9 просто.
     

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 19:37 21-12-2019 | Исправлено: gerxer, 19:39 21-12-2019
    Mavrikii

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

    Цитата:
    Ну я искал 9.1, и нашлось так же 9 просто.

    не должно
     

    Цитата:
    А если надо найти например 9.121  выражение уже не будет работать?

    переписываете 9\.1 на 9\.121 и будет работать с ним.

    Всего записей: 15024 | Зарегистр. 20-09-2014 | Отправлено: 19:39 21-12-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mavrikii
    Ладно спасибо буду тестить.
     
     
    Добавлено:
    Mavrikii
    Не знаю может я не правильно опять объяснил что-то, нужно чтобы он просто 9.1 выделял, а не весь текст вокруг.
    http://prntscr.com/qe1e74

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 19:42 21-12-2019 | Исправлено: gerxer, 20:54 21-12-2019
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer
    (?<=[^0-9])9\.1(?=[^0-9])
     
    Если нужное сочетание отделено всегда пробелами (типа <пробел>искомое сочетание цифр<пробел>)
    то можно так
    (?<=[ ])9\.1(?=[ ])
    Любые числа вида XX.X (напр., 19.1, 25.6, 99.0 и т.д.)
    (?<=[ ])\d{2}\.\d(?=[ ])
    Более общий случай, когда нужное число (XX.X) может  быть окружено не только пробелами, но и знаками табуляции, знаками конца строки:
    (?<=\s)\d{2}\.\d(?=\s)

    Всего записей: 1305 | Зарегистр. 17-01-2011 | Отправлено: 21:01 21-12-2019 | Исправлено: Jonmey, 21:19 21-12-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Самое первое вроде нормально находит, спасибо.

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 22:06 21-12-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Почему эта регулярка (?<=[^0-9])9\.1(?=[^0-9]) не нашла искомую цифру в таком окружающем тексте:  in 18.39/,  
    Это просто распознанный пдф, так что там любые сочетания знаков могут быть вокруг цифры.

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 06:54 23-12-2019
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer
    Цитата:
    Почему эта регулярка (?<=[^0-9])9\.1(?=[^0-9]) не нашла искомую цифру в таком окружающем тексте:  in 18.39/,  
    Это просто распознанный пдф, так что там любые сочетания знаков могут быть вокруг цифры.
    Потому что она ищет сочетание
    9.1
    в любом окружении, кроме цифр.
    В сочетании
    in 18.39/,
    указанное сочетание элементарно отсутствует.

    Всего записей: 1305 | Зарегистр. 17-01-2011 | Отправлено: 09:44 23-12-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    А если есть такое кривое число 4.4. 1.3 .1, как его учитывать
     
    4\.4(\.|\.[ ]) что-то не работает.

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 09:17 26-12-2019 | Исправлено: gerxer, 11:43 26-12-2019
    totnetot



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

    Цитата:
    А если есть такое кривое число 4.4. 1.3 .1, как его учитывать

    Я не совсем понимаю что значит "учитывать".
    Но если вышеприведенную регулярку от Jonmey (?<=[^0-9])9\.1(?=[^0-9]) для нахождения чисел вида 9.1 переделать то она будет находить и числа вида 4.4 и 1.3 и .1
     
    (?<=[^0-9])4\.4(?=[^0-9])
    (?<=[^0-9])1\.3(?=[^0-9])
    (?<=[^0-9])\.1(?=[^0-9])

    Всего записей: 410 | Зарегистр. 16-03-2013 | Отправлено: 12:28 26-12-2019 | Исправлено: totnetot, 12:33 26-12-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    totnetot
    Да это я понимаю.  
    Мне нужно находить число вида 4.4.1.3.1, которое на деле может записано 4.4. 1.3 .1., то есть содержать пробелы случайные в себе.

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 13:28 26-12-2019
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer вам уже много раз говорили, что надо чётко формулировать задачу, либо вам никто помогать не будет. Как вы сфомулировали, так вам решение и дали.

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

    Всего записей: 7189 | Зарегистр. 20-03-2009 | Отправлено: 14:13 26-12-2019
    gerxer

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

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 14:22 26-12-2019
    regist123



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

    Код:
    9.1

    и
    Код:
     4.4. 1.3 .1.

    Тянуть из вас щипцами информацию как понимаю всем уже надоело.

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

    Всего записей: 7189 | Зарегистр. 20-03-2009 | Отправлено: 14:47 26-12-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    regist123
    Да не нужно из меня вытягивать, мне написали что не поняли, я сразу пояснил.

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 15:15 26-12-2019
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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

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


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru