Я хочу найти hashtag с 1 до 6 цифр после с python 2.7, и мое регулярное выражение не соответствует должным образом.Как regex hashtag с цифрами после в python2?
Вот мой пример:
chaine = "[url=http://forum.darkgyver.fr/t27142-probleme-boitier-papillon-faisceau#265132:<UID>]http://forum.darkgyver.fr/t27142-probleme-boitier-papillon-faisceau#265132[/url:<UID>]"
regex = re.compile('http://forum.darkgyver.fr/(.*)\#(\d{1-6})')
match = regex.search(chaine)
if match:
pos1 = match.start()
pos2 = match.end()
else:
pos1 = -1
pos2 = -1
print "pos1 %d" % pos1
print "pos2 %d" % pos2
url_tempo = chaine[pos1:pos2]
print "url_tempo %s" % url_tempo
posPost = pos1 + url_tempo.find('#') + 1
numPost = chaine[posPost:pos2]
print "numPost %s" % numPost
Это первое регулярное выражение возвращает "не матч". Возможно, хэштег не объявлен должным образом.
Так я изменил свое регулярное выражение следующим образом:
regex = re.compile('http://forum.darkgyver.fr/(.*)\#([0-9]+(:| | |\n|\[|$))')
, который соответствует неправильное положение pos2=161
должно быть pos2=80
Как я могу исправить мое регулярное выражение хэштегом и 1 до 6 цифр позади?
'\ d {1,6}' ..................... not '\ d {1-6}' – vks
Спасибо, Мартин, за этот первый ответ. Я попробовал regex = re.compile ('http://forum.darkgyver.fr/ (.*) \ # (\ d {1,6}) ') Он соответствует частично, pos2 должен быть «80» вместо «160», а numpost не содержит хорошей строки, должен быть только «265132» pos2 = 160 numPost 265132:] http://forum.darkgyver.fr/t27142-probleme-boitier-papillon-faisceau#265132 –
Francois