정규 표현식
정규 표현식(또는 "regex")은 문자열 안에서 하나 이상의 문자를 찾는 데 사용되는 검색 패턴입니다. 특정 문자, 와일드카드, 문자 범위를 찾을 수 있습니다. 정규 표현식은 원래 vi와 grep 같은 Unix 유틸리티에서 사용되었습니다. 그러나 현재는 여러 플랫폼의 많은 코드 편집 애플리케이션과 워드 프로세서에서 지원됩니다. 정규 표현식은 대부분의 주요 프로그래밍 언어에서도 사용할 수 있습니다.
정규 표현식은 "app" 같은 기본 문자열만큼 간단할 수 있습니다. "app"라는 정규 표현식은 "apps", "applications", "inapplicable"이라는 단어가 포함된 문자열을 찾습니다. 정규 표현식에는 줄의 시작과 끝을 각각 지정하는 데 사용되는 앵커 문자("^"와 "$" )도 포함될 수 있습니다. 따라서 "^apps"라는 정규 표현식은 "apps are great"이라는 문자열은 찾지만 "I like apps."라는 문자열은 찾지 못합니다.
정규 표현식에는 모든 소문자와 같은 문자 범위를 찾는 데 사용되는 하이픈이 포함될 수 있습니다. 예를 들어 "[a-z]"라는 정규 표현식은 "apps"를 찾지만 "Apps" 또는 "123"이라는 문자열은 찾지 못합니다. "[A-Za-z]"라는 정규 표현식은 "Apps"를 찾고, "[0-9]"는 "123"을 찾습니다. 정규 표현식에서 표준 와일드카드 문자인 마침표는 줄 끝 문자 이외의 모든 문자를 찾는 데 사용할 수 있습니다. 마침표 뒤에 별표를 붙인 (.*) 패턴은 0개 이상의 항목을 찾고, 마침표 뒤에 더하기 기호를 붙인 (.+) 패턴은 1개 이상의 항목을 찾습니다.
하이픈, 별표, 더하기 기호 또는 앵커 문자가 포함된 문자열을 찾아야 한다면 어떻게 해야 할까요? 이러한 문자는 백슬래시("\")를 사용해 "이스케이프"하면 정규 표현식 패턴에 포함할 수 있습니다. 예를 들어 "$0.99"를 검색하려면 정규 표현식은 "\$0\.99"와 같은 형태가 됩니다. 백슬래시는 인쇄할 수 없는 문자를 검색할 때도 사용됩니다. 예를 들어 "\r"은 캐리지 리턴을, "\n"은 새 줄을, "\t"는 탭 문자를 찾습니다.
기본 정규 표현식을 만드는 데는 많은 노력이 필요하지 않지만, 고급 정규 표현식을 작성하는 일은 쉽지 않습니다. 뛰어난 프로그래머라도 복잡한 정규 표현식을 처음부터 정확하게 작성하는 경우는 드뭅니다. 하지만 정규 표현식을 올바르게 사용하면 특정 텍스트를 검색하고, 찾고, 바꾸는 데 강력한 도구가 됩니다.
지식 테스트하기