아래 설명은 0.9.4.4 버전부터 적용 가능한 정규 표현식에 대한 간단한 설명입니다.
정규표현식은 세계적으로 패턴을 가진 문자열을 검색하는데 널리 사용되는 방법이다.
복잡하지만 형식을 가지는 문자열을 표현하기 위해서 정규 표현식에서는 여러가지 메타 문자를 사용한다.
정규 표현식에서 일반적인 문자는 문자 그 자체를 나타내지만 메타문자로 지정된 문자는 특수한 의미를 가진다.
AcroEdit에서 사용 가능한 메타 문자는 아래와 같다.
문자열 집합
문자 리스트를 [] 내부에 입력하면 문자열 집합을 나타낼수 있다. 이것은 문자열 집합내의 어느 문자와도 매치됨을 나타낸다. 만약에 "["문자 바로 뒤에 "^"문자가 나오면 반대의 의미가 되며 문자열 집합내에 속하지 않는 하나의 문자를 나타낸다. []안 문자 리스트에 "-"문자가 포함되면 이는 전후 문자사이의 범위를 의미한다. 예를 들어 a-z는 a에서 z까지의 모든 문자를 집합으로 한다. 만약에 "-" 문자를 집합의 요소로 사용하려면 리스트의 시작이나 끝에 "-"문자를 삽입하거나 ""문자를 이용해서 Escape처리 해주면 된다. 또한 "]" 문자를 집합의 요소로 사용하려면 리스트의 시작이나 ""문자를 이용해서 Escape처리하도록 한다.
기본 문자열 집합
부표현식
() 문자로 둘러싸인 영역은 전체 정규 표현식의 부표현식이라하며 왼쪽에서 오른쪽으로 나타난 순서에 따라 1번에서 9번까지 내부적으로 번호가 부여된다.
메타 문자
예 :
정규표현식은 세계적으로 패턴을 가진 문자열을 검색하는데 널리 사용되는 방법이다.
복잡하지만 형식을 가지는 문자열을 표현하기 위해서 정규 표현식에서는 여러가지 메타 문자를 사용한다.
정규 표현식에서 일반적인 문자는 문자 그 자체를 나타내지만 메타문자로 지정된 문자는 특수한 의미를 가진다.
AcroEdit에서 사용 가능한 메타 문자는 아래와 같다.
문자열 집합
문자 리스트를 [] 내부에 입력하면 문자열 집합을 나타낼수 있다. 이것은 문자열 집합내의 어느 문자와도 매치됨을 나타낸다. 만약에 "["문자 바로 뒤에 "^"문자가 나오면 반대의 의미가 되며 문자열 집합내에 속하지 않는 하나의 문자를 나타낸다. []안 문자 리스트에 "-"문자가 포함되면 이는 전후 문자사이의 범위를 의미한다. 예를 들어 a-z는 a에서 z까지의 모든 문자를 집합으로 한다. 만약에 "-" 문자를 집합의 요소로 사용하려면 리스트의 시작이나 끝에 "-"문자를 삽입하거나 ""문자를 이용해서 Escape처리 해주면 된다. 또한 "]" 문자를 집합의 요소로 사용하려면 리스트의 시작이나 ""문자를 이용해서 Escape처리하도록 한다.
기본 문자열 집합
w | 알파벳 문자("_" 문자 포함) |
W | w 의 반대 |
d | 숫자 문자(0-9) |
D | d의 반대 |
s | 공백 문자([tnrf]와 같음) |
S | s의 반대 |
부표현식
() 문자로 둘러싸인 영역은 전체 정규 표현식의 부표현식이라하며 왼쪽에서 오른쪽으로 나타난 순서에 따라 1번에서 9번까지 내부적으로 번호가 부여된다.
메타 문자
이 문자는 이 다음에 나오는 문자에 특별한 의미를 부여한다. 예를 들어 "t"를 단지 "t"를 의미하지만 "t"는 TAB 문자를 의미한다. "" 문자를 검색하려면 ""로 입력해야 한다. |
|
xnn | 16진수로 nn이 나타내는 문자 |
t | TAB 문자(0x09) |
n | Line Feed 문자(0x0A) |
r | Carriage Return 문자(0x0D) |
f | Form Feed 문자(0x0C) |
a | BEL 문자(0x07) |
e | ESC 문자(0x1B) |
^ | 행의 시작 |
$ | 행의 마지막 |
. | 모든 문자 |
* | 이전 문자 또는 부표현식이 없거나 그 이상 |
+ | 이전 문자 또는 부표현식이 하나 또는 그 이상 |
? | 이전 문자 또는 부표현식이 없거나 하나 |
{n} | 이전 문자 또는 부표현식이 정확히 n번 반복될때 |
{n,} | 이전 문자 또는 부표현식이 적어도 n번 이상 반복될때 |
{n,m} | 이전 문자 또는 부표현식이 n번 이상 m번 이하 반복될때 |
(표현식) | 부 표현식을 나타낸다. |
| | OR 연산자를 의미한다. |
예 :
foob[aeiou]r | "foobar", "foober"등은 매치되지만 "foobbr", "foobcr"등은 안된다. |
foob[^aeiou]r | "foobbr", "foobcr"등은 매치되지만 "foobar", "foober"등은 안된다. |
foob[-az]r | 'foobzr', 'foob-r'등은 매치되지만 'foobcr'등은 안된다. |
foob[az-]r | 'foobzr', 'foob-r'등은 매치되지만 'foobcr'등은 안된다. |
foob[a-z]r | 'foobzr', 'foob-r'등은 매치되지만 'foobcr'등은 안된다. |
[a-z] | 'a'에서 'z'까지의 26개의 모든 알파벳 소문자와 매치 |
[n-x0D] | 0x0A에서 0x0D까지의 4개의 문자와 매치 |
[d-t] | 숫자 문자 및 '-', 't' |
[]-a] | ']'에서 'a'까지의 모든 문자 |
foob.*r | 'foobar', 'foobafdsfdsr', 'foobr' 등과 매치 |
foob.+r | 'foobar', 'foobafdsfdsr'등과 매치하지만 'foobr'는 안된다. |
foob.?r | 'foobar', 'foobr'등과 매치하지만 'foobafdsfdsr'는 안된다. |
fooba{2}r | 'foobaar'와 매치 |
fooba{2,}r | 'foobaar', 'foobaaar', 'foobaaar'와 매치 |
fooba{2,3}r | 'foobaar', 'foobaaar', 'foobaaar'와 매치하지만 'foobaaaar'는 안된다. |
ari(rang|rong) | 'arirang'이나 'arirong'과 매치 |
[_a-zA-Zd-.]+@([_a-zA-Zd-]+(.[_a-zA-Zd-]+)+) | 메일 주소 |
(?i)(FTP|HTTP)://([_a-zd-]+(.[_a-zd-]+)+)((/[ _a-zd-.]+)+)* | Internet URL |
댓글
댓글 0개
댓글을 남기려면 로그인하세요.