Tag: regex

Использует ли Python NFA для оценки регулярных выражений в модуле re?

Кто-нибудь знает, использовали ли Python (любую версию) NFA (неинтерминированные конечные автоматы) для оценки регулярных выражений или использовали какой-то другой механизм? Пожалуйста, укажите ссылки / ссылки, если они доступны.

Фильтрация фрейма данных на основе регулярного выражения

Скажем, у меня есть my_df со столбцом 'brand' , я бы хотел сбросить любые строки, где брендом является либо toyota либо bmw . Я подумал следующее: my_regex = re.compile('^(bmw$|toyota$).*$') my_function = lambda x: my_regex.match(x.lower()) my_df[~df['brand'].apply(my_function)] но я получаю ошибку: ValueError: cannot index with vector containing NA / NaN values Зачем? Как я могу фильтровать свой […]

Как использовать регулярное выражение для разделения чисел и символов в строках типа «30M1000N20M»

Я пытаюсь отделить [0-9] и [AZ] в строках, подобных этим: 100M 20M1D80M 20M1I79M 20M10000N80M Я попытался использовать модуль Python re , и следующий код, который я использовал: >>>import re >>>num_alpha = re.compile('(([0-9]+)([AZ]))+') >>>str1="100M" >>>n_a_match = num_alpha.match(str1) >>>n_a_match.group(2), n_a_match.group(3) 100,M #just what I want >>>str1="20M10000N80M" >>>n_a_match = num_alpha.match(str1) >>>n_a_match.groups() ('80M', '80', 'M') #only the last one, […]

Проблема с акцентированными символами

У меня проблема с акцентуацией регулярного выражения Python, я делаю следующую попытку: import re ER = re.compile(r'\w', re.L) print(ER.sub('.','Maçã')) ..çã Даже используя re.compile передавая локаль в качестве аргумента, акценты не распознаются. У кого-нибудь была эта проблема? Благодаря!

Python лямбда с регулярным выражением

При использовании re.sub () части re для python, функция может использоваться для sub, если я не ошибаюсь. Насколько мне известно, он передает в матче любую функцию, например: r = re.compile(r'([A-Za-z]') r.sub(function,string) Есть ли более разумный способ передать его во втором аргументе, кроме как с лямбдой, которая вызывает метод? r.sub(lambda x: function(x,arg),string)

Почему выражение регулярного выражения, содержащего «\», работает без того, чтобы оно являлось исходной строкой.

Пожалуйста, обратитесь к этому регулярному выражению HOWTO для python3 https://docs.python.org/3/howto/regex.html#performing-matches >>> p = re.compile('\d+') >>> p.findall('12 drummers drumming, 11 pipers piping, 10 lords a-leaping') ['12', '11', '10'] Я прочитал, что для регулярного выражения, содержащего '\' , необработанные строки следует использовать как r'\d+' но в этом фрагменте кода re.compile('\d+') используется без использования спецификатора r . И […]

re.finditer () возвращает одно и то же значение для методов начала и конца

У меня возникают проблемы с методом re.finditer () в python. Например: >>>sequence = 'atgaggagccccaagcttactcgatttaacgcccgcagcctcgccaaaccaccaaacacacca' >>>[[m.start(),m.end()] for m in re.finditer(r'(?=gatttaacg)',sequence)] out: [[22,22]] Как вы можете видеть, методы start() и end() дают одинаковое значение. Я заметил это раньше и только что закончил использование m.start()+len(query_sequence) вместо m.end() , но я очень смущен, почему это происходит.

Как проверить, содержит ли строка число между двумя скобками и возвращает местоположение?

Скажем, у меня есть str = "qwop(8) 5" и я хочу вернуть позицию 8. У меня есть следующее решение: import re str = "qwop(8) 5" regex = re.compile("\(\d\)") match = re.search(regex, string) # match object has span = (4, 7) print(match.span()[0] + 1) # +1 gets at the number 8 rather than the first bracket […]

Понимание urlconf Django

Я пытаюсь понять эту строку: url(r'^(?P<poll_id>\d+)/$', views.detail, name='detail'), из учебника Django о том, как создавать представления. В частности, я не понимаю следующее: ?П \ D + имя = «» подробнее urls.py urlpatterns = patterns('', # ex: /polls/ url(r'^$', views.index, name='index'), # ex: /polls/5/ url(r'^(?P<poll_id>\d+)/$', views.detail, name='detail'), # ex: /polls/5/results/ url(r'^(?P<poll_id>\d+)/results/$', views.results, name='results'), # ex: /polls/5/vote/ […]

Как Python разделяется персонажем, но поддерживает этот символ?

Результаты Google Maps часто отображаются таким образом: '\n113 W 5th St\nEureka, MO, United States\n(636) 938-9310\n' Другой вариант: 'Clayton Village Shopping Center, 14856 Clayton Rd\nChesterfield, MO, United States\n(636) 227-2844' И другой: 'Wildwood, MO\nUnited States\n(636) 458-7707' Обратите внимание на изменение размещения символов \n . Я ищу, чтобы извлечь первые строки X как адрес, а последняя строка – […]

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