컴퓨터 프로그램, 언어, 검색 엔진, 운영체제의 와일드카드(Wildcards)는 검색 기준을 단순화하는 도구로 쓰인다. 스크래블이나 포커 게임에서 와일드카드를 이용하는 방법과 유사하다. 포커에서 에이스를 와일드로 지정하면 에이스는 어떤 카드도 될 수 있다.
워드, 엑셀, 파워포인트, 윈도우, 구글 문서에서의 와일드카드도 동일하다. 간단히 말해, 와일드카드는 모든 것(*)이나 특정한 것(?)을 검색하고, 범위를 지정하고([]), 그룹을 생성하고(()), 반복 작업을 하고(@, {}), 고정하고(<>), 예외를 지정하는(! 또는 Boolean NOT) 도구다.
와일드카드 열어보기
홈(Home) 탭의 편집(Editing) 그룹에서 찾기(Find) > 고급 찾기(Advanced Find)를 선택한다. 단축키는 Ctrl+H다. 찾기 및 바꾸기 창이 표시된다. 자세히(More) 버튼을 클릭해 상세 옵션 창을 연다.
검색 옵션(Search Options) 아래 '패턴 일치(와일드카드) 사용' 상자를 선택한다. 그리고 창 하단의 옵션(Special) 버튼을 클릭한다. 그러면 옵션(특수 문자) 창이 표시된다.
마지막으로 리스트에서 와일드카드를 선택한다. 그런데 선택해야 할 대상, 작동 방법, 또 그에 앞서 이 기능을 이용하는 목적은 무엇일까?
수백 페이지 분량의 문서를 다룬 경험이 있다면, 기본적인 찾기 및 바꾸기로 변경을 했을 때 얼마나 많은 시간이 소요되는지 알고 있을 것이다. 예를 들어, Ann이라는 이름을 찾는다고 가정하자. 와일드카드 검색은 대문자를 인식하기 때문에 대문자로 된 Anniversary와 Ann, Anne을 찾아 표시할 것이다.
이번에는 첫 글자가 소문자인 ann을 검색하자. 그러면 Cezanne, planning, channel, cannonball, mannequins 등이 표시된다. 하지만 여성 이름인 Ann은 표시되지 않는다. 이 소문자 검색 결과를 mae로 바꾸면, maeiversary, Cezmaee, plmaeing, chmaeel, cmaeonball, mmaeequin 등 아주 이상한 결과를 얻게 된다. 이것이 와일드카드를 사용해 시간을 절약해야 하는 이유다.
와일드카드 제대로 활용하기
먼저 찾을 대상과 바꿀 대상을 결정해야 한다. 와일드카드 특수 문자인 [ ] { } < > ( ) - @ ? ! * \ 등(기타 tab, caret, em dash 등)을 이용하면 사실상 모든 것을 찾아 바꿀 수 있다. 또 동일한 도구를 이용, 빠르면서도 정확하게 문서를 편집할 수 있다.
가장 많이 사용하는 와일드카드는 모든 것을 의미하는 '*'이다. 즉 *.*는 마침표/점 앞과 뒤에 위치한 모든 것을 찾으라는 의미이다. 파일명에서 확장자 앞에 점이 있는 모든 문서, 그래픽, 파일이 검색 결과에 표시될 것이다. 만약 그래픽만 검색하고 싶다면 *.jpg를 입력한다. 그러면 프로그램은 .jpg로 끝나는 파일을 찾는다.
소설에서 이름 첫 글자가 J, 마지막 글자가 y인 등장인물을 찾는다고 가정하자. 찾기에 J*y라고 입력하면(J는 대문자, y는 소문자), 워드는 Johnny, Judy, Jacky, Jerry, Jimmy 등을 찾는다.
* 별표 와일드카드
스타(별 모양) 와일드카드를 이용해 검색 범위를 좁힌 후, J를 가진 이름을 다른 이름으로 바꿀 수 있다. Jacy 대신 Mike, Jerry와 Jimmy 대신 Andrew 및 Phil이라는 이름으로 바꿀 수 있는 것이다.
두 번째로 많이 사용하는 와일드카드는 ?이다. '?'와 '*'에는 중요한 차이점이 있다. ?는 문자 1개 만을 의미한다. 반면 *은 여러 개의 문자열을 포함한다(스페이스와 구두점 등). 예를 들어, 찾기 상자에서 b?t라고 입력하면, bit, bat, bot, button, bottom, better, b t (b, 스페이스, t), b,t (b, 콤마, t)가 표시된다.
반면 *라는 외일드카드를 이용할 경우 bright, brutal, before 등의 단어도 함께 표시된다.
반복에는 @ 와일드카드
@는 @앞에 위치한 문자가 한 차례 이상 반복된 단어를 찾아준다. 예를 들어, bo@t로 검색하면 bot, boot, booty, bottom, bootlegger, bottle 등의 단어가 표시된다.
\ 백슬래시 와일드카드
백슬래시(\)는 와일드카드 특수 문자 목록에 포함되어 있기는 하지만, 엄밀히 말해 와일드카드가 아니다. 컨트롤이나 ESC 시퀀스를 나타내는, ESC(명령 중지)로 기능하는 문자이다. 다시 말해, 와일드카드 다음 문자를 와일드카드로 처리하지 않고, 일반 키보드 문자로 처리한다. 즉 ?는 문자 1개를 찾는 와일드카드인 동시에 질문을 의미하는 구두 부호다.
예를 들어, 문서의 ? 부호를 감탄 부호로 바꾸고 싶다면, ? 앞에 백슬래시를 입력해야 한다. 워드에게 ?가 와일드카드가 아니라는 점을 알려주기 위해서이다.
다른 와일드카드와 백슬래시를 함께 이용할 수도 있다. \n이라고 입력할 경우, 해당 표현(표식)을 찾아, 순서를 바꿀 수 있다. 2,000 페이지 문서에 한 고객의 이름이 Allen Frederick과 Frederick Allen 2가지로 표시되어 있다고 가정하자. 두 번째가 맞는 표현이다. 그렇다면 찾기 상자에 (Allen)(Frederick)이라고 입력하고, 바꾸기 상자에 \2\1이라고 입력한다. 그러면 워드가 올바른 표현은 수정하지 않고, Allen Frederick을 모두 Frederick Allen으로 바꿔준다. 반드시 그룹을 지정해 구분하기 위해 ()를 이용해야 한다.
소괄호(둥근 괄호)는 와일드카드가 아니며, 검색 파라미터에 영향을 주지 않는다. 그러나 복잡한 와일드카드 찾기 및 바꾸기 작업에 아주 유용한 문자이다. 표현을 논리 시퀀스로 구분할 때 이용한다. 반드시 한 쌍으로 이용해야 한다(여는 괄호와 닫는 괄호의 수가 동일). 또 바꾸기에서는 수로 바꿔 처리해야 한다.
[ ] 중괄호 와일드카드
중괄호([])는 항상 한 쌍으로 이용해야 한다. 이는 특정 문자나 특정 문자 범위를 찾아준다. 중괄호를 이용한 문자 검색은 'Or(또는)' 검색이다. [x,y,z]라고 입력하면 문서에서 x 또는 y, z 중 하나가 사용된 표현을 모두 검색한다. 그러나 세 문자가 함께 이용된 문자는 제외된다. 대시(하이픈, -)는 범위이다. 즉 [A-Z]는 모든 대문자 알파벳, [a-z]는 모든 소문자 알파벳, [0-9]는 한 자리 수의 숫자, [1-5]는 1, 2, 3, 4, 또는 5를 찾으라는 의미이다. 특정 문자나 문자열(스페이스와 구두점 포함)도 범위로 지정할 수 있다.
범위는 오름차순이다. 예를 들어, [J-Z]ack를 입력하면 (오름차순으로)Jack, Mack, Zack이 표시된다. 그러나 lack, pack, rack, tack은 검색 범위이기는 하지만 소문자이기 때문에 제외된다. 반면 [j-z]ack로 검색하면 lack, pack, rack, tack 순으로 표시가 된다. 이 경우, Jack, Mack, Zack는 검색 결과에서 제외된다.
! 느낌표 와일드카드
감탄 부호(!)가 중괄호([])안에 들어가 있으면 '제외(Boolean의 NOT)'를 의미한다. 중괄호 안에 함께 입력한 문자는 검색 결과에서 제외된다. 즉 [!K-T]erry라고 입력해 검색하면, Berry, Gerry, Jerry가 표시된다. 그러나 Kerry, Merry, Perry, Terry는 검색되지 않는다. 이 감탄 부호는 워드에 K~T를 제외한 erry가 들어간 이름을 찾으라고 명령하는 셈이다.
{ }대괄호 와일드카드
대괄호({}) 안의 숫자는 그 앞에 위치한 문자가 반복된 횟수이다. 예를 들어, o{2}라고 입력하면 wood, smooth, book, zoom이 표시된다. 그리고 o{2,}라고 입력하면 o가 두 차례 또는 세 차례(연속해서) 반복된 단어를 찾는다. o가 연속되지 않은 notebook이나 notorious같은 단어를 걸러낼 수 있다.
< > 꺾쇠 와일드카드
<와 > 기호는 다른 와일드카드 1개 이상과 함께 이용하기에 가장 좋다. 그리고 한 쌍으로, 또는 하나만 이용할 수 있다. 각 단어의 시작과 끝을 가리킨다. 특정 단어 하나만 검색할 수 있는 방법이다. 예를 들어 <(pre)*(ed)>라고 입력하면 presorted 및 prevented가 검색된다. <”K”는 알파벳에서 K 앞 문자로 시작되는 단어를, >”F” and<”H”는 F와 H로 시작되는 모든 단어를 검색한다. editor@itworld.co.kr