Образец REGEX для исключения определенной строки

У меня есть строка, которая имеет этот формат:

some text <br>septembar 1989<br> 

И я использую это регулярное выражение, чтобы найти часть месяца и года

 <br/?>(?!=b\.)(.*?\b\d{4}\b) 

и я получаю то, что хочу – septembar 1989

Однако у меня теперь есть ситуация, когда вставляется

 <br>some text <br>septembar 1989<br> 

результат: some text <br>septembar 1989

Можете ли вы предложить, как изменить существующий шаблон для поддержки обоих случаев? Думаю, мне нужно как-то исключить из соответствия .*?

3 Solutions collect form web for “Образец REGEX для исключения определенной строки”

Попробуй это

 <br/?>([^<]+)\d{4} 

[^<] означает совпадение с чем-либо, кроме тега открытия, который вы хотите.

Я написал простой код, возможно, вы найдете полезным до некоторой степени:

 import re def getDate(str): m = re.match("[\<br>]*[\w\s]*\<br>([\w\s]*[12][0-9]{3})",str); return m.group(1) print getDate("some text <br>dec 1989<br>"); print getDate("<br> some text <br>septembar 1989<br>"); print getDate("grijesh chuahan <br>feb 2009<br>"); 

Вывод:

 dec 1989 septembar 1989 feb 2009 
 import re ss = 'dfgqeg<br>some text <br>septembar 1989<br>' reg = re.compile('<br(?: /)?>' '(?!.+?<br(?: /)?>.+?<br(?: /)?>)' '(.+?\d{4})' '<br(?: /)?>') print reg.search(ss).group(1) 

,

  • '<br(?: /)?>' <br /> /)?> '<br(?: /)?>' ловит события и <br />

,

  • '(?!.+?<br(?: /)?>.+?<br(?: /)?>)' – это прогнозное утверждение,
    он проверяет, что после позиции, где он начинается в анализируемом тексте, нет набора символов, описанных как последовательность:

    • .+? любые персонажи, но ? заказы, что эта часть должна прекратиться, как только встретится или будет <br />
    • <br> или <br />
    • снова любые персонажи останавливаются перед или <br />
    • <br> или <br />
  • Python, ограничить размер каждого сообщества?
  • Комбинированный список и понимание dict
  • Python: удалить слова между двумя разделителями
  • несогласованность при переключении между часовыми поясами в python
  • Установка Pymedia в Windows с Python 2.6
  • Построение списка месяцев путем итерации между двумя датами в списке (Python)
  • Создание объекта времени из минут
  • Какова связь между SDK приложения App Engine и Cloud SDK?
  • Построение случайной строки
  • Хешировать экземпляр класса нового стиля python?
  • В разнице Python в __dict__ между объектом () и классом myClass (объект)
  •  
    Interesting Posts for Van-Lav

    Сценарий Python, чтобы делать что-то в одно и то же время каждый день

    Как регистрировать исключение на предупреждающем или информационном уровне с помощью трассировки, используя фреймворк python?

    Добавить кортеж в определенную ячейку кадра данных pandas

    Как я могу использовать telnetlib python для получения данных с устройства в течение определенного периода времени?

    python unittest: не может называть декорированный тест

    Утилита устаревания FORTRAN в Python. Можно ли использовать `setuptools` и` numpy.distutils`?

    Внедрение «фильтра Kurtosis» с использованием scipys generic_filter

    Сделайте один PDF-файл документации Python

    Mac OS X + Python + Django + MySQL

    get_bucket () дает «плохой запрос» для кодов S3, которые я не создал через Boto

    Sublime Text определяет режим перезаписи

    Проблемы со связыванием статических файлов в Django 1.3

    Python speedtest.net, или эквивалентный

    Django admin – Как добавить знак «зеленый плюс» для поля «Множество ко многим» в пользовательской форме администратора

    pandas dataframe – удалить значения из группы с меньшим, чем X строк

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