Skip to content

141p 정규식 질문입니다 #142

Description

@i-Veni-Vidi-Vici

안녕하세요
인터뷰 책 덕분에 정말 도움이 많이 되고 있습니다
파이썬에 관한 부분을 읽으면서, 파이썬을 공부하면서 제가 놓쳤던 부분들, 부족한 부분들이 너무 많아 하나하나 공부해가고 있습니다.

책에서 다루는 부분은 아니지만.. 도움을 주신다면 정말 감사하겠습니다.
페이지 141에서 처음 보는 re.sub 정규식을 보고 책을 읽는 것을 잠시 멈추고 오늘 정규식 공부를 마쳤습니다.

그런데 백슬러시 부분은 계속 이해가 가지않네요..

it 커뮤니티 사이트에 질문도 해봤는데, 답변이 안달려서..

제가 group 없이 \s를 얻기 위해 아래 코드 compile 에서\\\\(정규식+리터럴)을 사용 해주었고 findall에서는 \\(리터럴)을 사용해 주었는데, 결과는 \\가 출력됩니다.

제 생각은 group()와 findall()의 리스트 return 값이 같아야하는데 왜 findall은 다르게 나오는지 이해가 가지않습니다..

  • import re
    
    # Problem
    a = re.compile('\\\\s') # "\\\\"
    b = a.findall('\\s')  # "\\" '\' 개수를 바꿔도 동일
    print(b)
    >>> ['\\s']
    # Correct
    b = a.search('\\s').group()
    print(b)
    >>> \s

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions