2017-02-25 3 views
2

파이썬 일치하는 경로에있는 문자열과

나는 'ID'에 대한 각 정확한 일치하는 항목을 검색 할
/user/{id}/list/{id} 

, 내가 원하는 내가이 경로 (문자열 유형)를 가지고 있다고 가정하자 이전 경로 항목으로 대체 id를 바로 이전 경로 + '_id'로 바꿉니다. 위의 예제에서 설명한 프로세스는 다음과 같이 나타납니다.

/user/{user_id}/list/{list_id} 

어떻게 이것을 파이썬으로 수행 할 수 있습니까?

편집 : 변수에 새 ID 이름을 저장하고 싶습니다. 따라서 작업을 제 자리에두면 안됩니다.

Edit2가 :

re.sub(r'([^/]+)/{id}', r'\1/{\1_id}', s) 

당신이 원하는 경우에 : 경로

+0

당신은 실제 예를 보일 수 있는가? – RomanPerekhrest

+0

@RomanPerekhrest 당신이 의미하는 바는 실제로 이것은 내 상황의 정확한 예입니다. – Crone

+0

* 변수에 새 ID 이름을 저장하는 경우 * - 귀하의 URL과 같이 * ID 이름이 2 개 * ? – RomanPerekhrest

답변

3

캡처 그룹과 대체 문자열에서이 캡처에 대한 참조를 사용 {ID} 발생의 무기한가있을 수 있습니다 목록의 예를 들어 교체를 저장, 당신은 할 수 있습니다 :

(파이썬 2.7)

을 733,210

(파이썬 3.x의)는

def rep(m): 
    ids.append('{}_id'.format(m.group(1))) 
    return '{0}/{{{0}_id}}'.format(m.group(1))