Tag: regex

Регулярное выражение для извлечения полей из разметки шаблона вики

Я хотел бы использовать Python для извлечения содержимого, отформатированного в разметке MediaWiki, после определенной строки. Например, в статье о президентских выборах 2012 года в США содержатся поля под названием «nominee1» и «nominee2». Пример игрушки: In [1]: markup = get_wikipedia_markup('United States presidential election, 2012') In [2]: markup Out[2]: u"{{ | nominee1 = '''[[Barack Obama]]'''\n | party1 […]

Правильные выражения Python2 кажутся ошибочными

Использование Python 2.7.3 в Linux. Вот сеанс оболочки дословно. >>> f = open("feed.xml") >>> text = f.read() >>> import re >>> regexp1 = re.compile(r'</?item>') >>> regexp2 = re.compile(r'<item>.*</item>') >>> regexp1.findall(text) ['<item>', '</item>', '<item>', '</item>', '<item>', '</item>', '<item>', '</item>'] >>> regexp2.findall(text) [] Это ошибка, или есть что-то, что я не понимаю в регулярных выражениях Python?

Отрицательный взгляд на «выбор имен файлов без расширения»

Мне нужно добавить «php» ко всем URL-адресам в href="xxx" , которые не заканчиваются «php». Я использую negetive lookahead (?!php) : find = r'href="(.+?)(?!php)"' replace = r'href="\1.php"' re.sub(find, replace, 'href="url"') re.sub(find, replace, 'href="url.php"') оба добавляют расширение: href="url.php" href="url.php.php" Почему отрицательный результат не работает?

python удаляет старые файлы, которые соответствуют неизвестному шаблону (сложнее)

Мой сервер заполняется, и мне нужно автоматизировать удаление файлов. Файлы обычно добавляются на мой сервер ежедневно, но иногда есть паузы, делающие их раз в две недели и ежемесячно. Они перестают приходить в течение нескольких месяцев, а затем снова начинают, это непредсказуемо. Мой скрипт должен удалить файлы старше 30 дней, но всегда хранить самые новые 5 […]

Соответствие текста, содержащего {word}, ​​но не {2ndword}

Я написал регулярное выражение (после некоторой большой помощи здесь ), которое фильтрует все функции из файла python. Итак, теперь мой босс хочет только функции, которые содержат OpenSession, но не Session.Close () . Я прочитал статью о Lookarounds , но, честно говоря, даже после многократного чтения, я не могу использовать ее. Но я думаю, что это […]

Генерация случайных строк на основе регулярного выражения-Python

В соответствии с этой случайной строкой можно создать импорт rstr-модуля. import rstr rstr.rstr('ABC') но когда я компилирую эту следующую ошибку? ImportError: No module named rstr Я использую python 3.3. Что может быть причиной?

Поиск сокращений Использование Regex In Python

Я пытаюсь использовать регулярное выражение в Python для сопоставления аббревиатур, разделенных точками. У меня есть следующий код: import re test_string = "USA" pattern = r'([AZ]\.)+' print re.findall(pattern, test_string) Результатом этого является: ['A.'] Я в замешательстве, почему это результат. Я знаю, что + жадный, но почему это первые случаи [AZ] \. игнорируются?

Слэш-замена внутри сырой строки

Просто простой вопрос о сырой строке, шаблоне регулярных выражений и замене: У меня есть строковая переменная, определяемая следующим образом: > print repr(foo) '\n\t\t\n\t\tIf (GUTIAttach>=1) //In case of GUTI attach Enodeb should not ask RRCUecapa again\n\t\tUECapInfo;//Mps("( \\"rat_Type\\":0 \\"ueCapabilitiesRAT_Container\\":hex:011c0000000080 )"); Моя проблема – это символы "(" и ")" , я хочу заменить их на "\(" и "\)" […]

Lucene или Python: выберите имена имен «Хилари Клинтон» и «Клинтон, Хилари»

Предположим, у меня есть некоторые записи свободной формы для имен, где некоторые из них находятся в формате «Фамилия, имя», а другие – в формате «Имя Фамилия» (например, «Bob MacDonald» и «MacDonald. Bob» оба являются настоящее время). Из того, что я понимаю, индексирование Lucene не допускает подстановочные знаки в начале предложения, так что бы некоторые способы, […]

Включить '-' в поиск регулярных выражений с помощью \ w +. питон

k = 'a bunch of data and then name ""Serpin-ps""' print re.search(r'name\s""(\w+)""',k).group(1) дает: AttributeError: 'NoneType' object has no attribute 'group' wish_output = 'Serpin-ps' Имеет смысл, потому что в тексте есть «-». Есть ли способ заставить regex включить '-' вместе со всеми другими буквенно-цифровыми символами?

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