정규식 연습 (https://www.regexpal.com/)
from Web Scraping with Python
기호 |
의미 |
예제 |
일치하는 문자열 |
* |
바로 앞에 있는 문자, 하위 표현식, 대괄호로 묶인 문자들이 0번 이상 나타남 |
a*b* |
aaaaaaaa, bbbbbb, aaabbbb |
+ |
바로 앞에 있는 문자, 하위 표현식, 대괄호로 묶인 문자들이 1번이상 나타남 |
a+b+ |
aaaaaaab, aaabbbbb, abbbbbb |
[] |
대괄호 안에 있는 문자 중 하나가 나타남 |
[A-Z]* |
APPLE, CAPITALS |
() |
그룹으로 묶인 하위 표현식, 정규 표현식을 평가할 때에는 하위 표현식이 가장 먼저 평가됨 |
(a*b)* |
aaabaab, abaaab, ababaaaab |
{m,n} |
바로 앞에 있는 문자, 하위표현식, 대괄호로 묶인 문자들이 m번 이상, n번 이하 나타남 |
a{2,3}b{2,3} |
aabbb, aaabbb, aabb |
[^] |
대괄호 안에 있는 문자를 제외한 문자가 나타남 |
[^A-Z]* |
apple, lowercase, qwerty |
| |
|로 분리된 문자, 문자열, 하위 표현식 중 하나가 나타남. |는 파이프라고 불리는 세로 막대로 대문자 I값이 아님!!! |
b(a|i|e)d |
bad, bid, bed |
. |
문자 하나(글자, 숫자, 기호 ,공백등)가 나타남 |
b.d |
bad, bzd, b$d, b d |
^ |
바로 뒤에 있는 문자 혹은 하위 표현식이 문자열의 맨 앞에 나타남 |
^a |
apple, asdf, a |
\ |
특수 문자를 원래 의미대로 쓰게 하는 이스케이프 문자 |
\. \| \\ |
. | \ |
$ |
정규 표현식 마지막에 종종 쓰이며 바로 앞에 있는 문자 또는 하위 표현식이 문자열의 마지막이라는 뜻. 이 기호를 쓰지 않은 정규 표현식은 사실상 .*가 마지막에 있는 것이나 마찬가지여서 그 뒤에 무엇이 있든 전부 일치함. ^기호의 반대라고 생각해도 됨 |
[A-Z]*[a-z]*$ |
ABCabc, zzzyx, Bob |
?! |
포함하지 않는다는 뜻으로 이 기호 쌍 바로 다음에 있는 문자(또는 하위 표현식)는 해당 위치에 나타나지 않음. 이 기호는 혼란스러울 수 있음. 배제한 문자가 문자열의 다른 부분에 나타날 수 있기 때문. 특정문자를 완벽히 배제하려면 ^과 $를 앞뒤에 사용 |
^((?![A-Z]).)*$ |
no-caps-here, $ymbl)ls a4e f!ne |
'IT > 개발의짜릿함' 카테고리의 다른 글
[C]문자열과 포인터 (0) | 2018.04.26 |
---|---|
SQL변수 java변수 변환(_소문자를 대문자로) (0) | 2017.12.11 |
[C]pointer의 이해 (0) | 2017.02.24 |
Recent Comment