당신이 하드 코딩 할 수있는 일반 서식 문자열에 어떤 정규식을 변환하는 솔루션,하지만 뭔가를 찾고하지 않는 경우 :
twitter_url = 'twitter.com/%(username)s/' % {'username': 'dir01'}
... 당신이 필요로하는 무엇을 제공해야합니다.
좀 더 일반적인 (그러나 믿을 수 없을만큼 강력하지 솔루션을)하려면 다음
import re
def format_to_re(format):
# Replace Python string formatting syntax with named group re syntax.
return re.compile(re.sub(r'%\((\w+)\)s', r'(?P<\1>\w+)', format))
twitter_format = 'twitter.com/%(username)s/'
twitter_re = format_to_re(twitter_format)
m = twitter_re.search('twitter.com/dir01/')
print m.groupdict()
print twitter_format % m.groupdict()
나 제공합니다 :
{'username': 'dir01'}
twitter.com/dir01/
을 그리고 마지막으로, 내가왔다 약간 더 크고 더 완벽한 솔루션 사용 나 자신은 Pattern
클래스 here에서 찾을 수 있습니다.
정규 표현식에서'.'를 이스케이프하여 실제로'. "와 일치하도록 제안합니다. –
예, 알고 있습니다. 그것은 단지 껍질을 가지고 노는 것입니다, 그 이상은 아닙니다. – dir01