강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

밑바닥개발자님의 프로필 이미지
밑바닥개발자

작성한 질문수

공공데이터로 파이썬 데이터 분석 시작하기

정규표현식 질문입니다!

작성

·

475

1

리뉴얼 전에 강의듣고 추가 리뉴얼 강의 듣고 완강했습니다! 여전히 퀄리티좋은 강의 감사드립니다...!

정규표현식 관련되서 하나 질문이 있습니다..! 밑에 1번째 사진처럼 정규표현식을 저렇게 표현했습니다. 저렇게 표현하게 되면

"역사 또는 체육 또는 수변 또는 문화 중 하나에 해당하는 문자열 + 공원 이라는 글자 모두 0번 이상 있는 걸 다 뽑아라! " 이 말 아닌가요?

그런데 선생님께서 하신 정규표현식과 제가 직접 작성한 정규표현식과의 차이가 궁금합니다...! 결과물은 1017개로 동일하게 결과가 나오는 것 같습니다..

1. 선생님께서는 양 끝에 소괄호() 를 한번 더 묶어주신 이유가 무엇인가요..? 그룹핑인가요!? 만약 그룹핑 의미라면 이전 강의에서 마스킹 처리할 때 그룹핑 개념은 이해했는데 이 상황에서 그룹핑은 무슨 의미인가요..!? 구분자 없이 단어가 하나의 단위라서 그룹핑을 굳이 쓸 필요가 있나요..!?

2. 뒤에 있는   .*  는 '앞에있는 문자 0번 이상 반복되면' 을 뜻하는 건 알겠는데, 앞쪽에서  .* 가 한번 더 나오는 이유가 뭔가요..? 앞쪽에서 나오는  .* 도 '앞에 있는 문자 0번 이상 반복되면'을 뜻할 텐데 앞쪽에서 나오는  .* 앞에는 문자가 없지 않나요..!?

정규 표현식 자주 봐도 어렵네요 흑흑

답변 1

0

박조은님의 프로필 이미지
박조은
지식공유자

안녕하세요. 리뉴얼까지 완강해 주셨다니 감사합니다 :)

1.  말씀해 주신 것처럼 그룹핑을 하지 않아도 상관은 없습니다. 별 다른 의미는 없는데 조영훈님께서 하신 것처럼 괄호를 빼는게 좀 더 직관적일거 같아요! 예리하게 잘 보시고 좋은 질문을 주셨네요!

2.  ".*"는 모든 문자를 의미하는데 앞뒤에 어떤 문자가 들어가든의 의미를 가져요. 이것도 질문 받고 생각해 보니 없어도 상관이 없습니다. 다만 정규표현식을 익혀본다는면에서 참고해 두시면 좋을거 같아요.

그래서 아래처럼 쓰셔도 결과는 같습니다.

좋은질문 감사합니다!

밑바닥개발자님의 프로필 이미지
밑바닥개발자

작성한 질문수

질문하기