programing

Python Regex가 그룹을 즉시 대체

skycolor 2023. 6. 11. 10:32
반응형

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

반응형