최근 Cross Browser 의 요구에 따른 작업을 하던 중 IE 가 아닌 타 브라우저 처리를 위한 작업을 하던 중 페이지 내에서 특정 태그와 그 내용을 지워야하는 상황이 발생했었습니다. 사실 한두개 바꾸는 거라면 다른 옵션은 신경도 쓸 필요가 없겠지만, 약 100 개의 페이지 정도 되는 상황이라면 무언가 이 단순한 작업을 처리해 줄 도구들을 찾기 마련입니다.
이 작업을 해소하기 위해 Visual Studio 에서도 Find and Replace 메뉴에서 정규 표현식 사용하면 되겠거니 하면 후회하실 수도 있습니다. 그 이유는 여기서 사용하는 정규 표현식은 일반적인 것과는 다릅니다. 물론, 아래의 참고 링크들을 숙지하고 정규 표현식에 지식이 조금 있는 분이시면 VS 의 OOTB 로 해결하면 됩니다. 저는 이런 상황에 직면할때마다 기왕이면 시간 좀 들여서 좀 더 세련된 방법이나 좋은 방법을 배우고 적용하고 싶지만 여유를 주지 않는 업무 환경이 처리를 단순하게 하는 것 같아 안타깝습니다. 사실, VS 보다는 Office 를 주로 켤때면 암울합니다.
VS IDE Regular Expressions 와 Standard regex 와의 비교입니다.
(codinghorror.com 에서 가져옴 – 원문 링크)
|
Visual Studio IDE |
Standard |
Any single character |
. |
. |
Zero or more |
* |
* |
One or more |
+ |
+ |
Beginning of line |
^ |
^ |
End of line |
$ |
$ |
Beginning of word |
< |
(no equivalent) |
End of word |
> |
(no equivalent) |
Line break |
\n |
\n |
Any character in set |
[ ] |
[ ] |
Any character not in set |
[^ ] |
[^ ] |
Or |
| |
| |
Escape special char |
\ |
\ |
Tag expression |
{ } |
( ) |
C/C++ identifier |
:i |
([a-zA-Z_$][a-zA-Z0-9_$]*) |
Quoted string |
:q |
(("[^"]*")|('[^']*')) |
Space or Tab |
:b |
[ |\t] |
Integer |
:z |
[0-9]+ |
어쨌든, aspx 페이지의 내의 object 태그를 없애는데 손쉽게 사용할 수 있는 것들을 찾아보던 중 VS 에 AddIn 되는 것과 Application 의 형태로 판매되는 것들이 있는 것을 확인했습니다. 우선 공짜이기도 하지만 VS 의 Find and Replace 처럼 수정된 내용도 Editor 내에서 볼 수 있고 원하는대로 수정을 할 수 있는 RegExAddin 을 사용하기로 했습니다.
- Link: .NET Regular Expressions Find and Replace Add-In for Visual Studio 2008 (VS 2010 은 아직 없음)
- For VS 2003: Standard Regular Expression Searcher Addin For VS.NET 2003
# 사용 예 (object 태그 제거, 잘 변경되었는지 보기 위해 열어놓기 체크)
파일이 아닌 TEXT 작업을 위해서는 Expresso 를, 파일 수정 및 좀 더 다양한 작업을 위해서는 RegexBuddy(상용: $39.95) 를 추천합니다. 저는 공짜인 Expresso 를 사용합니다.
# RegexBuddy Screenshot
- 상용이라서 그런지 꽤 좋아 보입니다.
# Expresso Screenshot
평소에는 정규 표현식과 친근하지는 않지만 문자열 처리 등에서는 아주 효율적이라고 생각하기에 공부의 필요성은 느끼지만 안타깝게도 책은 책꽂이에 모셔두고 있습니다. (혹시 정규 표현식을 잘 쓰시는 분이 계시만 친하게 지내고 싶습니다. )
SharePoint 2010 이 Deploy 되면 Delegate Control 을 잘 활용하면 되겠지만, 타 시스템(게시나 결재) 등에서도 활용할 수 있는 컨트롤을 제작하는 것도 좋을 것 같습니다.
[참고 링크]
1. VS 의 Find and Replace 의 Regular Expression 초보 팁 1
2. VS 의 Find and Replace 의 Regular Expression 초보 팁 2
3. VS 의 Find and Replace 의 Regular Expression 초보 팁 3
4. 정규 표현식 추천 책