Tag: регулярного выражения

Как извлекать строковые элементы верхнего строчка для имени и фамилии?

У меня есть строки формы NAME Firstame и я хотел бы получить часть Firstname . Строка может быть более сложной ( LAST LAST2 First First2 ). Правило состоит в том, что верхние регистры – это фамилия, а остальное – имя. Мы можем предположить, что первая часть будет в верхнем регистре (= фамилия), и когда она […]

Извлечение всех команд Latex из файла Latex

Я пытаюсь извлечь все латексные команды из файла tex. Для этого я должен использовать Python. Я попытался извлечь команды латекса в список, используя модуль Re. Проблема заключается в том, что этот список не содержит команд латекса, чье имя включает специальные символы (такие как \ alpha *, \ a ', \ #, \ $, +,:, \ […]

эффективный способ получить слова до и после подстроки в тексте (python)

Я использую регулярное выражение для поиска вхождения строк в тексте. Как только я нахожу, что происходит строковый шаблон, я хочу получить x слов до и после строки (x может быть как 4, но предпочтительно ~ 10, если все еще эффективнее). В настоящее время я использую регулярное выражение для поиска всех экземпляров, но иногда он зависает. […]

Разделить строку, сохраняющую индексы каждой подстроки

В python есть классный native .split() , возвращающий список подстрок. Есть ли родной или, по крайней мере, не очень противный способ разделить на несколько разделителей и автоматически получить координаты подстроки? Что-то вроде этого: "abc? !cde".some_smart_split("!?") -> [("abc", 0, 2), (" ", 4, 4), ("cde", 6, 8)] Конечно, я могу написать какой-то наивный код. Но мой […]

Печатать слово по частям python

Здравствуйте, я хочу создать функцию, которая будет использовать функцию повышения (которая только что изменит уже произнесенное слово) и напечатать новое слово в частях заданного числа n. Пример для S = test Я должен получить ('## t', '#te', 'tes', 'est', 'st%', 't %%') def enhance(S,n): S = "#"*(n-1)+S+"%"*(n-1) return S def exploder(S,n): S = enhance(S,n) x=0 […]

Regex match (\ w +), чтобы зафиксировать отдельные слова, разделенные символом ||| – Python

Я пытаюсь сопоставить, если есть одно слово, за которым следует \s|||\s а затем еще одно слово, за которым следует \s|||\s поэтому я использую это регулярное выражение: single_word_regex = r'(\w+)+\s\|\|\|\s(\w+)\s\|\|\|\s.*' И когда я попытался сопоставить эту строку, соответствие регулярному выражению зависает или принимает минуты (возможно, входит в какой-то «глубокий цикл») >>> import re >>> import time […]

Word рассчитывается в Python с использованием регулярного выражения

Каков правильный способ подсчета английских слов в документе с использованием регулярного выражения? Я попробовал: words=re.findall('\w+', open('text.txt').read().lower()) len(words) но кажется, что мне не хватает нескольких слов (сравнивается со словом count в gedit). Правильно ли я это делаю? Большое спасибо!

Что требуется для неявных связей строк в исходных строках в Python

Я хотел бы разделить регулярное выражение на несколько строк для ясности, но я не уверен, что лучший способ сделать это – с необработанными строками. SECT_EXP = ( r'^(?P<number>.+?[.]? {1,2}' # Begin number pattern match r'(?P<sect_num>' # Begin section number match r'(?P<full_num>' # Begin full number match r'(?P<title>\d{1,2}?)' # Match title substring r'(?P<chapter>\d{2})' # Match chapter […]

Регулярные выражения Python: как повторить повторение шаблона?

Я смотрю на длинную нить ДНК-нуклеотидов и ищу последовательности, которые начинаются с начального кода «AAA» и заканчиваются кодом остановки «CCC». Поскольку нуклеотиды входят в триплеты, количество нуклеотидов между началом и концом каждой найденной последовательности должно быть кратным трем. Например, «AAAGGGCCC» является допустимой последовательностью, но «AAAGCCC» – нет. Кроме того, перед каждым кодом остановки я хочу, […]

Как изменить этот REGEX, чтобы выбрать все даты в тестовой строке

test_string = '''dated as of October 17, 2012 when we went caroling, dated as of December 21, 2011 when we ate bananas''' import re import calendar months_full = '|'.join([month for month in calendar.month_name][1:]) pattern_1 = r'\b' + months_full + r'\s+\d{1,2},?\s+\d{4},?' test_pattern = re.compile(pattern_1) x = test_pattern.findall(test_string) print x >>> ['October', 'December 21, 2011'] >>> Я […]

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