0
我使用Python version 2.7.6
Python的替換正則表達式組
我有其指示一個ftp URI的表達;
pattern = re.compile(r'ftp://((?P<username>[^:.]+):(?P<password>[^@.]+)@)?(?P<host>[^:.]+):(?P<port>[^/.]+)(?P<path>.+)')
假設,我有一個匹配的字符串模式,它是;
my_ftp_uri="ftp://somehost:21/blah_blah_path.file"
我要的是根據正則表達式組位置,用戶名和密碼添加到URI。 我希望可以有這樣一種方式,如;
match=pattern.search(my_ftp_uri)
match.groupdict()
>>> {'username': None, 'path': '/blah_blah_path.file', 'host': 'somehost', 'password': None, 'port': '21'}
match.group_replace({'username':'my_username','password':'my_password'})
>>> "ftp://my_username:[email protected]:21/blah_blah_path.file"
我搜索了它,可以找到一些正則表達式替換。但他們正在用正則表達式替換組中的部分。我實際上想要替換或設置匹配正則表達式的字符串中的組值。
你知道一種用正則表達式替換字符串中某個匹配組值的方法嗎?
你不得不使用正則表達式?否則,你可以使用python的[urlparse](https://docs.python.org/2/library/urlparse.html)。 – Tommy 2015-03-02 09:54:57