Wednesday, November 29, 2006
정규식] 대소문자 구분 없이 찾기, 매치 시키기; Regex Ignore Case Perl
정규식에서는 기본적으로 알파벳의 대소문자를 구분합니다.
"대소문자 구분 없이" 찾으려면
이렇게 끝에 소문자 i (아이) 를 붙이면 됩니다. i 같은 것을 "Option Modifier" 또는 "Flag" 라고 합니다.
/정규식/gi
이렇게 옵션을 여러 개 이어서 붙일 수도 있습니다.
다음 예제는 펄(Perl)에서 i 옵션을 사용하는 간단한 예제입니다.
좀더 실용적인 예제는 여기에 있습니다. 파일 속의 문자열을 대소문자 구분없이 찾아서 개수를 세는 스크립트입니다:
▶▶ Perl/펄] 파일 속의 문자열, 단어 개수 세기; Count All (grep 확장 스크립트)
"대소문자 구분 없이" 찾으려면
/정규식/i
이렇게 끝에 소문자 i (아이) 를 붙이면 됩니다. i 같은 것을 "Option Modifier" 또는 "Flag" 라고 합니다.
/정규식/gi
이렇게 옵션을 여러 개 이어서 붙일 수도 있습니다.
다음 예제는 펄(Perl)에서 i 옵션을 사용하는 간단한 예제입니다.
#!/usr/bin/perl
use strict; use warnings;
my $s = "Linux";
# 기본적으로는 대소문자 구분함
print "$s 가 (대소문자 구분하여) 매치\n" if $s =~ (/Linux/);
# 출력 결과: Linux 가 (대소문자 구분하여) 매치
# i 옵션으로 대소문자 구분 없애기
print "$s 가 (대소문자 구분 없이) 매치\n" if $s =~ (/LINUX/i);
# 출력 결과: Linux 가 (대소문자 구분 없이) 매치
use strict; use warnings;
my $s = "Linux";
# 기본적으로는 대소문자 구분함
print "$s 가 (대소문자 구분하여) 매치\n" if $s =~ (/Linux/);
# 출력 결과: Linux 가 (대소문자 구분하여) 매치
# i 옵션으로 대소문자 구분 없애기
print "$s 가 (대소문자 구분 없이) 매치\n" if $s =~ (/LINUX/i);
# 출력 결과: Linux 가 (대소문자 구분 없이) 매치
좀더 실용적인 예제는 여기에 있습니다. 파일 속의 문자열을 대소문자 구분없이 찾아서 개수를 세는 스크립트입니다:
▶▶ Perl/펄] 파일 속의 문자열, 단어 개수 세기; Count All (grep 확장 스크립트)
tag: regex
정규식 | 정규표현식 | Regex | Regular Expression
tag: perl
Perl | 펄
<< Home