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

My SharePoint 2010 books

Two month ago, I requested buying three SharePoint 2010 books to my company and I could get one of them today and it is Professional SharePoint 2010 Administration. As a SharePoint Developer + Administrator, I need to handle admin stuff as well. In SPS 2003, the main admin jobs are setting IIS and watching logs. I expect it will be much harder and need to study more on SharPoint 2010 administration.

Even though I could download many white papers and documents from Microsoft but they are too plenty and I can't get the general or wide categories with easy access like reference books on my shelf. So I'm happy for it and two books are coming up soon.

The three books I've chosen are below

Book Image Description

Inside Microsoft SharePoint 2010 by Ted Pattison, Andrew Connell, Scot Hillier and David Mann

Developer book. I'm fan of Ted since the book Inside Microsoft Windows SharePoint Services 3.0 which I learned so much from the book when I developed on MOSS 2007.

Professional SharePoint 2010 Administration by Todd Klindt, Shane Young and Steve Caravajal

Admin book. I should read all and study it with Powershell. I also owned Windows Powershell in Action.

Microsoft SharePoint 2010 End User Guide: Business Performance Enhancement by Peter Ward and Michael McCabe

End user book. One of my tasks is showing users how to use SharePoint well and make them collaborate with team members and colleagues. When I was a completely developer, I could only see the developer perpective that I made applications without considering users. Fow now, I found out the Great application must be designed for users first!!! Anyways, I should understand many features of SharePoint and give them its full fuctionality and empower their daily businnes more easily with SharePoint.

I'll put notes as I read and study them.

 

NET Reflector is not free after all!!!

SharePoint 2007 개발과 .NET 개발 시에 아주 잘 사용했던 Reflector 가 드디어 유료로 바뀌었습니다.
Lutz Roeder 신께서 공짜로 제공하는 때가 정말 행복한 시절임을 새삼 깨닫습니다.
공짜로 쓰던 것을 돈주고 사서 쓰려면 왠지 쓰고 싶지 않은 마음을 왜 그럴까요?

첫번째 .NET 어셈블리 브라우저인 .NET Reflector 와 2002 년부터 Microsoft Expression 을 하고 계신 Lutz Roeder 님을 다시한번 생각해 봅니다.
  - .NET Reflector
  - Lutz Roeder Site

# Expiration message (May 30)

새로운 가격에 대한 내용은 아래의 링크에서 확인이 가능합니다.
http://reflector.red-gate.com/download.aspx

 # Minimum $35

 

이제 공짜로 즐길 수 있는 App 은 JustDecompile 이 남았습니다.
.NET Framework 4.0 설치를 해야하고 아직 Beta 버전이라서 버그도 많지만,
Reflector 수준으로 하루빨리 성장하기를 기대해봅니다.