На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
Дорогие друзья! Поздравляем вас с днём Победы!
msm.ru
Модераторы: ALXR
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
    > Reverse matches , C#
      Есть некий набор букв/слов/фраз, например А и Б.
      Как в тексте найти всё кроме етих букв/слов/фраз?
      Например, в фразе "АБЦДАЕФ" наити "ЦД" и "ЕФ?

      Спасибо

      ЗЫ: В НЕТ Обшие Вопросы отобразите тему плиз
        Я слабо представляю для чего это (приведенный пример вообще никак на в этом плане не помог). посему как то сложновато придумать регулярку.
        может проще заюзать группы. что бы все нужные подстроки помещались в группы.
          Не понял в чем собственно проблема?
          /[^АБ]+/
          разве не то, что нужно делает?
            ну это только буквы. фразы под это не покатят.
              Значит надо ждать объяснения (примера) по-подробнее, потому как непонятно, что собственно нужно.
                аналогичная ситуация, подскажите - хочу регуляркой найти строки, НЕ содержащие определенные сочетания букв, например строки, не содержащие"arr" или "quote"
                  Одним вызовом?
                    Так в чем проблема???? :huh:

                    Пишите регулярку которая будет вырезать ненужные фразы.

                    И вам останеться все самое не обходимое.
                    Разве нет так? :popcorn:
                      Цитата negram @
                      Одним вызовом?

                      хотелось бы, что-то типа !(arr|quote) , но в правильной нотации. Возможно ?
                        Попробуй написать целиком регулярку, которую хочешь составить, а не подзадачу ;)
                        Скорее всего, тогда станет яснее...
                          конкретный пример, ищу строки, заканчивающиеся на опред. символы, но НЕ содержащие "arr". Как добавить исключение к данному выражению?
                          ExpandedWrap disabled
                            (.*""$|.*"",$|.*"",\x20*///$)
                            Цитата Old Bat @
                            ищу строки
                            а вот это место ещё интереснее. Обычно ищут подстроки, либо проверяют совпадает ли регулярка со строкой...
                            Если подстроки, то, в твоём случае, они должны не только оканчиваться на некоторые символы, но и начинаться чем-то...
                              "ищу" - ну неточно выразился, просто проверяю

                              Цитата negram @
                              проверяют совпадает ли регулярка со строкой

                              именно, читаю файл построчно, приведенное мной выражение успешно проверяет, заканчивается ли она на опред. символы
                              в данном случае не суть как она начинается - строки, совпадающие с регуляркой, могут содержать "arr" где угодно
                              вот подобные строки я бы и хотел исключать сразу при проверке в регулярке, а так приходится проверять доп. условия
                              Сообщение отредактировано: Old Bat -
                                Т.е. считываешь строчку, сравниваешь с регуляркой, и так для всех строк файла?

                                как на счёт такого выражения:
                                ExpandedWrap disabled
                                  (arr)|(""$|"",$|"",\x20*///$)

                                в этом случае, машина регулярок найдёт сначала arr, захватит его с номером 1 и остановится. Если arr не присутстует, захватит второй элемент, а первых будет пустым (неинициализированым - зависит от реализации). Соответственно, запрос к машине регулярок будет один, доп. проверка всё-ровно будет, но второй проход по строке уже осуществляться не будет.

                                Хотя, регулярка такая будет тормознутее, чем изначальный вариант...
                                  только что написал регулярку но она не даст нормальный результат. ибо правильнее искать позитив нежели негатив.
                                  например строка: '(arr, dk, "")'
                                  при герулярки: /(?<!arr).*$/ даст позитив. так как '(ar' полностю подпадет под условие что это не 'arr', а все остальное подпадет под точку.
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:


                                  Рейтинг@Mail.ru
                                  [ Script execution time: 0,0290 ]   [ 15 queries used ]   [ Generated: 12.05.24, 12:02 GMT ]