SPNote

SharePoint Notes

Visual Studio Regular Expression

최근 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 태그 제거, 잘 변경되었는지 보기 위해 열어놓기 체크)
image

파일이 아닌 TEXT 작업을 위해서는 Expresso 를, 파일 수정 및 좀 더 다양한 작업을 위해서는 RegexBuddy(상용: $39.95) 를 추천합니다. 저는 공짜인 Expresso 를 사용합니다.

# RegexBuddy Screenshot
- 상용이라서 그런지 꽤 좋아 보입니다.

# Expresso Screenshot
image

평소에는 정규 표현식과 친근하지는 않지만 문자열 처리 등에서는 아주 효율적이라고 생각하기에 공부의 필요성은 느끼지만 안타깝게도 책은 책꽂이에 모셔두고 있습니다. (혹시 정규 표현식을 잘 쓰시는 분이 계시만 친하게 지내고 싶습니다. )

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. 정규 표현식 추천 책

Add comment

Loading