이전 포스팅에서는 대괄호([]) , 이스케이프(\), 마침표(.), 그외 문자 집합에 대해 알아봤었다.
기본적인 정규표현식 기초 OR(|), *, + , ?, {} 에 대해서 알아보도록 하겠다.
| : 다자 택일
단어 '하나' , '둘', '셋' 중 하나에 대응하고 싶다면 | 를 써서 다자택일 한다. ( OR 느낌)
하지만 순서에 따라서 결과가 바뀔 수도 있다. (one, oneself)
이런 경우 단어의 경계를 사용하여 해결하면 된다.
\bone\b | \bonewself\b
* : 0회 이상 반복
어떤 문자나 기호 뒤에 * (Asterisk)를 붙여서 그 문자가 일치되는 만큼 찾는다.
예를 들어 A* 는 'A'나 'AAA" , "" (빈문자열) 과도 일치한다.
하지만 빈문자열도 List에 들어가서 좋은 방법은 아니다.
+ : 1회 이상 반복
*과 비슷하지만 한 번이라도 등장해야 된다.
이건 빈 문자열은 일치하지 않게 된다.
{n,m} : 지정 횟수반복
중괄호는 지정한 횟수만큼 정규식 반복하는것.
1. {n} : 정확히 n회만큼 반복
2. {n,m} : n이상 m이하 반복
3. {n, } : n이상 반복 (무한 가능)
re.findall('a{3}', 'aaaaaaaa'))
결과 : ['aaa', 'aaa']
? : 0회 또는 1회 반복
re.findall('ab?a' , 'aa aba aaaa')
결과 : ['aa', 'aba', 'aa', 'aa']
'데이터 처리 > 데이터 처리' 카테고리의 다른 글
프로그래머스 고득점 SQL 문법 총 정리 (0) | 2020.11.10 |
---|---|
네이버 웹 이미지 크롤링(Crawling)하기. (0) | 2020.07.08 |
파이썬 | 정규표현식(re) re.compile 사용을 위한 표현법 (0) | 2020.06.24 |
데이터 처리 | 파이썬으로 엑셀 파일 읽어서 출력하기 (2) | 2020.06.22 |