에서 정규식을 사용하여 문자열의 하위 문자열 전에 공간을 추가나는 두 개의 목록이 파이썬
내가list_1
에서 요소를 가지고
list_2
의 문자열에서 검색 할
list_1 = ["TP", "MP"]
list_2 = ["This is ABC12378TP0892S3", "This is XYZ12378MP0892S3"]
. 찾을 경우 (예 : TP
이 list_2
의 첫 번째 문자열에있는 경우 MP
이 list_2
의 두 번째 문자열에 있음) TP, MP
등의 오른쪽에있는 것을 제거하고 왼쪽에 공백을 삽입하십시오.
re
로 아래했지만, 단지 오른쪽 부분을 제거하고 :
[ re.sub(r'(' + '|'.join(list_1) + ')\d+', r'\1', string) for string in list_2 ]
[re_2 (t)에 대해] [list_2]에 설명해 주실 수 있겠습니까? 그것은 정확히 어떻게 작동하고 있습니까? –
검색 패턴에는'(.... ....) 두 세트가 있습니다. 'sub()'를 사용할 때'\ 1 '은 현재 위치를 첫 번째'()'의 내용으로 대체하고 두 번째'()'의 내용을'\ 2'로 대체하는 것을 의미합니다. –