반응형
Python Regex가 그룹을 즉시 대체
정규식 구문을 사용하여 모든 그룹을 직접 대체할 수 있는 방법이 있습니까?
일반적인 방법:
re.match(r"(?:aaa)(_bbb)", string1).group(1)
하지만 저는 다음과 같은 것을 성취하고 싶습니다.
re.match(r"(\d.*?)\s(\d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)")
Regex가 방금 캡처한 그룹에서 즉시 새 문자열을 만들고 싶습니다.
다음 항목을 확인합니다.
result = re.sub(r"(\d.*?)\s(\d.*?)", r"\1 \2", string1)
Python의 regex 치환(교체) 기능입니다.대체 문자열은 이른바 백 레퍼런스(백슬래시, 그룹 번호)로 채워질 수 있으며, 백 레퍼런스는 그룹에 의해 일치된 것으로 대체됩니다.그룹은 다음과 같이 계산됩니다.group(...)
함수, 즉 시작 위치1
괄호를 열어 왼쪽에서 오른쪽으로 이동합니다.
인정된 답은 완벽합니다.그룹 참조는 다음 구문을 사용하여 더 잘 수행할 수 있습니다.
r"\g<1> \g<2>"
교체 문자열에 사용됩니다.이렇게 하면 그룹 뒤에 숫자가 올 수 있는 구문 제한을 해결할 수 있습니다.다시 말하지만, 이것은 모두 문서에 존재하며, 새로운 것은 없고, 단지 가끔 첫눈에 보기 어려울 뿐입니다.
언급URL : https://stackoverflow.com/questions/14007545/python-regex-instantly-replace-groups
반응형
'programing' 카테고리의 다른 글
기본 라인 색상 주기 가져오기 (0) | 2023.06.11 |
---|---|
새 줄 없이 C를 삽입합니다. (0) | 2023.06.11 |
변수를 사용하여 data.table에 열 이름 전달 (0) | 2023.06.11 |
*(uint32_t*) 식을 이해하지 못함 (0) | 2023.06.11 |
문자열을 16진수 바이트로 인쇄 (0) | 2023.06.11 |