next up previous contents
Next: Matching a Character with Up: Using Metacharacters in Regular Previous: Using Metacharacters in Regular   Contents

Anchors

패턴의 위치를 지정하는 anchor에는 ^와 $가 있습니다. 전자는 start anchor라고 하며, 후자는 end anchor라고 합니다. 각각은 텍스트 한 줄에서 첫 부분, 끝 부분을 의미합니다. 따라서 정규식 ``^A''는 문자 `A'이되, 문장의 처음에 나오는 `A'를 의미합니다. 마찬가지로 ``$A''는 문자 `A'이되, 문장의 마지막에 나오는 `A'만을 의미합니다. 두 anchor 모두 제 위치에 있을 때에만 그 역할을 발휘합니다. 예를 들어 정규식 ``1^''나 ``$1''에서의 ^, $는 그 역할을 하지 못하고, 단순히 일반 문자로 해석됩니다. 만약 실제로 문장의 첫 부분에 오는 ^이나, 문장의 마지막에 오는 $를 원한다면 이들 문자 앞에 \를 붙이면 됩니다.

Figure 1: Regular Expression Anchor Character Examples
\begin{figure}
\begin{center}
\begin{tabular}{l\vert p{4cm}}
\textbf{Pattern} & ...
...$ & 문장의 마지막에 나오는 \lq \$' \\
\hline
\end{tabular}\end{center}\end{figure}

이 문자들은 단지 정규식이 아닌 비슷한 의미로도 많이 쓰입니다. 예를 들어 vi의 명령 모드에서 `$'는 문장의 끝으로 커서를 이동하는 데에 쓰이며, `^'는 문장의 처음으로 이동시키는 데에 쓰입니다. 또한 C shell에서 `!^'는 바로 전 줄의 첫번째 인자를 지정하는데에 쓰이고, `!$'는 마지막 인자를 지정하는데에 쓰입니다.

다른 프로그램에서도 비슷한 명령들을 볼 수 있습니다. ed와 sed에서 `$'는 파일의 마지막 줄을 의미하며, `cat -v -e' 명령은 각 줄의 끝을 `$'로 나타내게 해 줍니다.




1999-12-14