'정규표현식'에 해당되는 글 5건
- 2009/03/02 정규표현식(Regular Expression) Href URL 캡쳐(Capture)
- 2009/02/28 sunyruru의 미투데이 - 2009년 2월 27일
- 2009/02/26 여러줄을 한번에 StringBuilder로 감싸는 방법~! - Editplus 정규표현식, 바꾸기 기능 (4)
- 2009/02/13 Visual Studio에서 " " 따옴표로 묶은 문자열만 잡기
- 2009/02/13 Editplus의 정규표현식 사용 문자열 바꾸기 (3)
참고 주소
http://hoons.kr/Board.aspx?Name=QACSHAP&Mode=2&BoardIdx=20596&Key=&Value=
http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=32231
이 글은 먼저 훈스닷넷(hoons.kr)에 질문으로 올라온 글 덕에 작성해본 코드이고요.
정규표현식(Regular Expression)을 이용해 HTML의 링크에 해당하는 <a href="..." 형태의 URL 부분만 받아오도록 처리하는 방법을 아래 코드로 요약해봅니다.
자세한 주석의 설명은 없지만, () 괄호로 구분되는 정규표현식 테그로 치환되는 값들을 유심히 살펴보시면 됩니다.
주석에 나와 있는 숫자 설명은
붉은색으로 강조해 둔 부분에 들어갈 값을 설명한 내용이에요~
(PS. 첨부된 파일은 테스트용 전체 소스에요)
/// <summary>
/// URL을 뽑아온다
/// 0:Link
/// 1:host.domain (FQDN)
/// 2:protocol
/// 3:domain extension (.net, .co.kr, .com ...)
/// 4:port
/// </summary>
/// <param name="strHtml"></param>
/// <returns></returns>
private List<string> GetHrefs(string strHtml)
{
List<string> urlList = new List<string>();
Regex r;
Match m;
// ref. url http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=32231
string pattern = string.Empty;
pattern += @"((http|https|ftp|mms):\/\/[0-9a-z-]+(\.[_0-9a-z-]+)+(:[0-9]{2,4})?\/?)"; // domain+port
pattern += @"([\.~_0-9a-z-]+\/?)*"; // sub roots or sub directory
pattern += @"(\S+\.[_0-9a-z]+\??)?"; // file & extension string
pattern += @"([_0-9a-z#&=-]+)*"; // parameter
r = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled);
for (m = r.Match(strHtml); m.Success; m = m.NextMatch())
{
if (string.IsNullOrEmpty(m.Groups[0].Value))
continue;
urlList.Add(m.Groups[0].Value);
}
return urlList;
}
'.NET > C#' 카테고리의 다른 글
| 훈스 C# 스터디 5주차 - CLR의 동작 , 메모리 관리, Boxing, UnBoxing, Generic (0) | 2009/03/11 |
|---|---|
| Different with ArrayList, List<T> – Boxing, None Boxing (0) | 2009/03/10 |
| 정규표현식(Regular Expression) Href URL 캡쳐(Capture) (0) | 2009/03/02 |
| 여러줄을 한번에 StringBuilder로 감싸는 방법~! - Editplus 정규표현식, 바꾸기 기능 (4) | 2009/02/26 |
| [Hoons C# 스터디 2009 1기] 3주차 세미나 / 발표 내용 정리 (2) | 2009/02/25 |
| Use WebBrowser and shdocvw.dll for POST Data sending (0) | 2009/02/16 |
- Ruru' Programming :) :: 여러줄을 한번에 StringBuilder로 감싸는 방법~! - Editplus 정규표현식, 바꾸기 기능 아주 가끔씩은 쓸 일이 있더라구요 ㅎㅎ2009-02-27 15:50:14
이 글은 sunyruru님의 2009년 2월 27일의 미투데이 내용입니다.
'FunFun' 카테고리의 다른 글
| sunyruru의 미투데이 - 2009년 3월 11일 (0) | 2009/03/11 |
|---|---|
| sunyruru의 미투데이 - 2009년 3월 5일 (0) | 2009/03/06 |
| sunyruru의 미투데이 - 2009년 2월 27일 (0) | 2009/02/28 |
| sunyruru의 미투데이 - 2009년 2월 20일 (0) | 2009/02/21 |
| sunyruru의 미투데이 - 2009년 2월 10일 (0) | 2009/02/11 |
| sunyruru의 미투데이 - 2009년 2월 9일 (0) | 2009/02/10 |
여러줄을 한번에 StringBuilder로 감싸는 방법~! - Editplus 정규표현식, 바꾸기 기능

자주 사용하는 기능인데 귀찮아서 -_ -;;
강좌로 올리진 않았는데..
생각난 김에 잠깐 캡쳐를 해서 샥샥~ 블로깅 합니다.
뭐 하다보면 StringBuilder 일 수 있고 아닐 수도 있지만
유사한 방법으로 활용하시면 될 듯 해요 ㅎㅎ
일단 핵심인 Editplus가 있어야 겠고요.
먼저 다음과 같은 쿼리문을 스트링 빌더(StringBuilder)로 감싸야 한다고 생각해보죠.
뭐 3줄 이니 그냥해도 되지만, 줄이 많은 경우를 가정해서 하는 것이라고 생각해주세요.
먼저 '바꾸기 (Ctrl + H)'를 눌러서 바꾸기 창을 띄우고요.
다음처럼 따라서 누르면 위쪽에 '찾을 말' 부분에 추가가 되거든요.
먼저 한 줄의 시작 부분에
그 뒤부분에 나오는 전체 문자들을 전부 잡을 것이기 때문에
우리가 필요로 하는 부분을 테그로 감싸야 합니다. () 모양인 것이 태그죠.
이제 모든 문자열을 잡습니다. '.' 점(dot)이 그 것을 나타냅니다.
어떤 문자열이든 한 글자 이상 나오면, 그 것을 잡는다는 말이고요.
이제 줄의 끝까지를 잡는다는 말이에요.
결과적으로 한줄의 어떤 문자열이 오든 잡는다는 말이죠. 대신 한 글자라도 있어야 하고요.
그렇게 적용한 후에 아래 '바꿀 말' 부분을 작성해줍니다.
위에서 '찾을 말' 에서 태그 () 로 잡은 안의 문자열 들은 \1 '바꿀 말'의 \1로 변환 되는 거에요.
기존에 있던 글자를 () 괄호 안의 .+ 가 잡은 모든 글자들이 아래처럼 감싸지게 됩니다!!
sb.AppendLine(" 기존의 글 ");
위의 형식으로 잡는다는 말이 되는겁니다. 간단하죠?
이제 '모두 바꾸기' 버튼을 누르면,
다음과 같이 한번에 변환 되는 겁니다.
아주 간단한 팁이지만 - _-;;
아직도 노가다로 코딩하시는 분들을 위해....
아주 약간이나마 팁이 되기를... ㅋㅋ
'.NET > C#' 카테고리의 다른 글
| Different with ArrayList, List<T> – Boxing, None Boxing (0) | 2009/03/10 |
|---|---|
| 정규표현식(Regular Expression) Href URL 캡쳐(Capture) (0) | 2009/03/02 |
| 여러줄을 한번에 StringBuilder로 감싸는 방법~! - Editplus 정규표현식, 바꾸기 기능 (4) | 2009/02/26 |
| [Hoons C# 스터디 2009 1기] 3주차 세미나 / 발표 내용 정리 (2) | 2009/02/25 |
| Use WebBrowser and shdocvw.dll for POST Data sending (0) | 2009/02/16 |
| C# - Excel Sheet to DataTable (2) | 2009/01/14 |
Trackback : http://i-ruru.com/trackback/411
-
Subject decoder의 생각
2009/02/26 23:25
여러줄을 StringBuilder로 감싸기 이거 요긴하게 써먹을 수 있겠구만. :)
-
Subject sunyruru의 생각
2009/02/27 15:50
Ruru' Programming :) :: 여러줄을 한번에 StringBuilder로 감싸는 방법~! - Editplus 정규표현식, 바꾸기 기능 아주 가끔씩은 쓸 일이 있더라구요 ㅎㅎ
-
이경배 2009/12/16 10:20
오... 좋은 글 잘 읽었습니다.
http://blog.naver.com/gaebit/120093613178
에 제가 만든 프로그램이 있습니다.
앞뒤로 따옴표 붙혀주는 프로그램인데요. 스트링 빌더 말고 그냥 스트링에 사용하실때 유용하실껍니다.
스트링빌더나 다른 언어에서 쓸 수 있게 앞뒤에 사용자가 원하는 문자를 붙힐 수 있도록 수정해야겠네요^^;
오늘은 정규표현식(Regular Expression)에 대한 것을 많이 다루네요 -_ -;;
작업이 노가다 작업을 자주해서 그런가;;
자꾸 편한 방법을 찾다보니 -_ ;;;
"{([:Ha:Wh:Pu:a])+}"
자~~
먼저 답을 해보면 위와같이 하면 되구요.
위에 축약형 기호들은 Visual Studio 전용이에요 ㅎㅎ
다른곳에선 안된답니다;;
위와 같이 사용하면 Visual Studio 에서
public static string strName = "application name";
이렇게 따옴표 안에 글자들을 전부 잡을 수 있어요~
찾아 바꾸기로 많은 변수를 잡아서 일괄적으로 변경할 일이 있으시면 이걸 사용하시면 되겟죠 ^ ^
일반 정규표현식이랑 다르게 VS에서는 {} 가 테그 치환자네요.
바꾸기를 할 경우 따옴표 안에 있는 문자들만 선택되게 되고.
\1 을 통해서 재사용 할 수 있겠습니다~
위 코드에 들어간 것들은 아래와 같은 뜻이에요~
:Ha - 한글
:Wh - 공백
:Pu - 기호
:a - 영문자 & 숫자
+ - 1개 문자 이상
'Program' 카테고리의 다른 글
| Your files are always in sync - DropBox.com (0) | 2009/10/10 |
|---|---|
| Visual C++ 6 Unleashed (0) | 2009/06/29 |
| Visual Studio에서 " " 따옴표로 묶은 문자열만 잡기 (0) | 2009/02/13 |
| Editplus의 정규표현식 사용 문자열 바꾸기 (3) | 2009/02/13 |
| Visual Studio Add-in CopySourceAsHtml (0) | 2008/04/15 |
| Windows RSS Platform (0) | 2008/04/07 |
뭐 부연설명 안해도 빨간색 메모장으로 잘 아시리라.. 생각하는 Editplus..
오늘 하던일 중에
C# 에 변수들이 주우우욱~~~~
장황하게
DB_Insert_SMS_User_aspx_03= "이름";
이런식으로 변수들이 엄청나게 늘어있는 코드들 중에서
이름
이런식으로 줄마다 값만 남고 다 필요게 하는 작업이 필요했다.
처음엔 '노가다 작업을 그냥 할까? - _-... ' 생각했지만..
문득!!!
'Editplus에 정규표현식으로 바꾸면 되자나!!' 라는 삽질스러운 생각이 왜 들었는지 ㅠ_ ㅠ
결국 10분이나 걸려서 정규표현식(Regular Expression)을 완성했다...
짜잔~
'바꾸기 (Ctrl + H)' 를 눌러서 '정규식(&x)' 를 체크해주고,
찾을말 : [_a-zA-Z0-9 ]*[=]?[\t| ]*"(.*)"[\t| ]*;[\t| ]*$
바꿀말 : \1
이런식으로 입력하면 다들 내가 원하는 변환을 얻을 수 있을 것이다 ㅠㅠ
혹시라도 100년만에 나와 같은 삽질을 할 지 모르는 위인을 위하야~~!!
내용은 별거 없다..
(10분동안 뭐한게냐... ㅠㅠ)
'Program' 카테고리의 다른 글
| Visual C++ 6 Unleashed (0) | 2009/06/29 |
|---|---|
| Visual Studio에서 " " 따옴표로 묶은 문자열만 잡기 (0) | 2009/02/13 |
| Editplus의 정규표현식 사용 문자열 바꾸기 (3) | 2009/02/13 |
| Visual Studio Add-in CopySourceAsHtml (0) | 2008/04/15 |
| Windows RSS Platform (0) | 2008/04/07 |
| Editplus 3.0 으로 갈아타기 (3) | 2008/02/14 |
Prev




