Распределение регулярного выражения python в соответствии с критериями

Рассмотрение вопроса Python Regex – заменить строку, не расположенную между двумя конкретными словами, поскольку ответы были неполными.

Учитывая строку str, разделите в соответствии с «::», не обращая внимания на «::» между «<» и «>» скобками.

Ожидаемые входы и выходы:

input a :: <<a :: b> c>::<a < a < b:: b> :: b> :: b> :: a output [a , <<a :: b> c>,<a < a < b:: b> :: b> :: b> , a] input a< b <c a>> output [a< b <c a>>] input a:<a b> output [a:<a b>] 

One Solution collect form web for “Распределение регулярного выражения python в соответствии с критериями”

Просто условие if else необходимо для этого случая. Это приведет к расщеплению, если есть какая-либо :: подстрока, присутствующая внутри входной строки, иначе она вернет фактическую строку ввода.

 >>> def csplit(s): if '::' in s: return [i for i in regex.split(r'(<(?:(?R)|[^<>])*>)|::', s) if i and i != ' '] else: return s >>> csplit('a :: <<a :: b> c>::<a < a < b:: b> :: b> :: b> :: a') ['a ', '<<a :: b> c>', '<a < a < b:: b> :: b> :: b>', ' a'] >>> csplit('a:<a b>') 'a:<a b>' >>> csplit('a< b <c a>>') 'a< b <c a>>' 
  • Python и Regex - извлечение числа из строки
  • Преобразование строк ввода пользователя в исходный строковый литерал для создания регулярного выражения
  • Обработка HTML-файла с использованием Python
  • замените все «\» на «\\» python
  • Комментарии в строке и строках в комментариях
  • Контрольный код в регулярном выражении Python
  • Как найти и заменить n-е появление слова в предложении, используя регулярное выражение python?
  • многострочное регулярное выражение python
  • регулярное выражение python для обнаружения слова существует
  • Регулярное выражение: сопоставить строку между двумя слэшами, если сама строка содержит экранированные слэши
  • Почему использование атрибута вместо метода обеспечивает такое значительное повышение скорости Python
  •  
    Interesting Posts for Van-Lav

    В чем разница между Python и Jython против IronPython vs wxPython?

    Python Flask: отслеживание пользовательских сеансов? Как получить идентификатор сеанса cookie?

    scipy матрица перестановок факторизации LU

    В Python heapq.heapify не принимает cmp или ключевые функции в качестве аргументов, как отсортировано

    Сетевой чат Python

    Невозможно импортировать QtWebKitWidgets в PyQt5

    Разница между тремя одиночными кавычками и тремя двойными кавычками docstrings в python

    Невозможно создать более 10 mqueues

    Запуск интерактивной команды изнутри python

    Как обойти «sys.exit ()» в nosetest python?

    Я, кажется, получаю сообщение об ошибке, хотя скрипт работает, я не понимаю, почему

    Запись строк длиной более 80 символов в выходном файле

    Как создать временный файл (для записи на) в C #?

    Анализатор натурального языка для анализа спортивных игровых данных

    pandas – получить последнее значение определенного столбца, проиндексированного другим столбцом (получить максимальное значение конкретного столбца, проиндексированного другим столбцом)

    Python - лучший язык программирования в мире.