Tag: regex

Есть ли способ действительно рассортировать скомпилированные регулярные выражения в python?

У меня есть консольное приложение python, которое содержит более 300 регулярных выражений. Набор регулярных выражений фиксирован для каждой версии. Когда пользователи запускают приложение, весь набор регулярных выражений будет применяться от одного раза (очень короткая работа) до тысяч раз (длительная работа). Я хотел бы ускорить работу более коротких заданий, скомпилировав регулярные выражения вперед, рассортировать скомпилированные регулярные […]

Проблема с regexp python и sqlite

Я пытаюсь проверить строку с шаблоном, используя регулярное выражение с python в базе данных sqlite. У меня проблема, когда я пытаюсь найти строку поиска, имеющую «с использованием patern». Например: cur.execute("insert into articles(id,subject) values (1,'aaa\"test\"')") cur.execute("select id,subject from articles where id = 1") print (cur.fetchall()) cur.execute("select subject from articles where subject regexp '\"test\"' ") print (cur.fetchall()) […]

Разбить XML-файл на объект Python

У меня есть XML-файл, который выглядит так: <encspot> <file> <Name>some filename.mp3</Name> <Encoder>Gogo (after 3.0)</Encoder> <Bitrate>131</Bitrate> <Mode>joint stereo</Mode> <Length>00:02:43</Length> <Size>5,236,644</Size> <Frame>no</Frame> <Quality>good</Quality> <Freq.>44100</Freq.> <Frames>6255</Frames> ….. and so forth …… </file> <file>….</file> </encspot> Я хочу прочитать его в объект python, что-то вроде списка словарей. Поскольку разметка абсолютно фиксирована, у меня возникает соблазн использовать регулярное выражение (я неплохо […]

Как удалить список слов из списка строк

Извините, если вопрос немного запутан. Это похоже на этот вопрос Я думаю, что вышеупомянутый вопрос близок к тому, что я хочу, но в Clojure. Есть еще один вопрос Мне нужно что-то вроде этого, но вместо «[br]» в этом вопросе есть список строк, которые нужно искать и удалять. Надеюсь, я поняла. Я думаю, что это связано […]

обработка текста – производительность python vs perl

Вот мой скрипт perl и python для выполнения простой обработки текста из примерно 21 файла журнала каждый примерно от 300 КБ до 1 МБ (макс.) Х 5 раз повторяется (всего 125 файлов, из-за журнала повторяется 5 раз). Код Python (код изменен для использования скомпилированного re и использования re.I) #!/usr/bin/python import re import fileinput exists_re = […]

Почему это регулярное выражение приводит к четырем элементам?

Я хочу разбить строку на , -> , => или те, которые были обернуты несколькими пробелами, что означает, что я могу получить два элемента: he и he из следующих строк после разделения: "she he", "she he", "she he ", "she he ", "she->he", "she ->he", "she=>he", "she=> he", " she-> he ", " she => […]

Правильное выражение Python 3 для поиска многострочного комментария

Я пытаюсь найти блоки комментариев в исходном тексте PHP, используя регулярные выражения в Python 3. Комментарии PHP находятся в таком формате: /** * This is a very short block comment */ Теперь я придумал следующее регулярное выражение: '/\*\*[.]+?\*/' Я полагаю, что в сочетании с флагом DOTALL это должно быть сделано, но нет. Он ничего не […]

Регулярное выражение Python для Beautiful Soup

Я использую Beautiful Soup, чтобы вытащить определенные теги div, и кажется, что я не могу использовать простое сопоставление строк. На странице есть несколько тегов в форме <div class="comment form new"…> которые я хочу игнорировать, а также некоторые теги в форме <div class="comment comment-xxxx…"> где x представляют собой целое число произвольной длины, а эллипсы представляют произвольное […]

Глобальный флаг Python RegExp

Есть ли флаг или какой-то специальный ключ в python для использования шаблона несколько раз. Я использовал для проверки http://gskinner.com/RegExr/ моего RegExp, он работал правильно в нем. Но при проверке в правильном соответствии соответствия только возвращает None . import re pattern = r"(?P<date>–\d\d-\w+:\d\d)[ \t]+(?P<user>\w+)[ \t]+(?P<method>[\w ]+)[\" ]* (?P<file>[\w\\:\.]+)@@(?P<version>[\w\\]+)[\" ]*(?P<labels>[\(\w, \.\)]+){0,1}[\s \"]*(?P<comment>[\w \.-]+){0,1}[\"]" base = """ –02-21T11:22 […]

Почему конечное повторение в lookbehind не работает в некоторых вариантах?

Я хочу проанализировать 2 цифры в середине от даты в формате dd/mm/yy , но также разрешить одиночные цифры для дня и месяца. Вот что я придумал: (?<=^[\d]{1,2}\/)[\d]{1,2} Я хочу 1 или 2-значное число [\d]{1,2} с 1 или 2-значным номером и слэш ^[\d]{1,2}\/ перед ним. Это не работает во многих комбинациях, я тестировал 10/10/10 , 11/12/13 […]

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