C# 정규표현식 사용해 보자.
선언부
using System.Text.RegularExpressions;
예제)
패턴 이해
Regex reg = new Regex(@"<(?<key>.+)>.*\r\n(?<value>.*)\r\n");
여기서 ?<key> ?<value> 이 부분은 그룹으로 묶는다는 것이다.
결과값에서 matchCol[i].Groups["key"].Value 처럼 꺼낼 수 있다.
위 패턴은 key와 value 두개의 그룹으로 나눠 저장하고, key값은 aaa<b>aaa 에서 "< >" 사이의 값 b를 추출하여 저장한다.
value값은 그 다음줄에 모든 값을 value에 저장한다. \r\n은 다음줄을 의미하므로 \r\n 와 \r\n 사이는 한줄을 의미하기때문이다.
즉.
tistory<name>site
wory
tistory<age>asdfasdf
27
이런식으로 되어 있다면
matchCol 배열에
(name,wory)
(age,27)
식으로 저장되게 될것이다.
다음은 내가 많이 사용하는 문자열 추출을 위해서...보통 abc#####end 처럼..앞과 끝은 알아도 중간에 것을 몰라 추출을 하기 어려울때가 있다...이럴떤 위에 패턴을
abc(?<value>.*)end 와 같은 방법으로 추출하면 된다. ^^ ;
선언부
using System.Text.RegularExpressions;
예제)
//Regex reg = new Regex(패턴);
Regex reg = new Regex(@"<(?<key>.+)>.*\r\n(?<value>.*)\r\n");
//MatchCollection matchCol = reg.Matches(검사할문장);
MatchCollection matchCol = reg.Matches(inputString);
string result = string.Empty;
for (int i = 0; i < matchCol.Count; i++)
result += string.Format("{0},{1}\r\n", matchCol[i].Groups["key"].Value, matchCol[i].Groups["value"].Value);
Regex reg = new Regex(@"<(?<key>.+)>.*\r\n(?<value>.*)\r\n");
//MatchCollection matchCol = reg.Matches(검사할문장);
MatchCollection matchCol = reg.Matches(inputString);
string result = string.Empty;
for (int i = 0; i < matchCol.Count; i++)
result += string.Format("{0},{1}\r\n", matchCol[i].Groups["key"].Value, matchCol[i].Groups["value"].Value);
패턴 이해
Regex reg = new Regex(@"<(?<key>.+)>.*\r\n(?<value>.*)\r\n");
여기서 ?<key> ?<value> 이 부분은 그룹으로 묶는다는 것이다.
결과값에서 matchCol[i].Groups["key"].Value 처럼 꺼낼 수 있다.
위 패턴은 key와 value 두개의 그룹으로 나눠 저장하고, key값은 aaa<b>aaa 에서 "< >" 사이의 값 b를 추출하여 저장한다.
value값은 그 다음줄에 모든 값을 value에 저장한다. \r\n은 다음줄을 의미하므로 \r\n 와 \r\n 사이는 한줄을 의미하기때문이다.
즉.
tistory<name>site
wory
tistory<age>asdfasdf
27
이런식으로 되어 있다면
matchCol 배열에
(name,wory)
(age,27)
식으로 저장되게 될것이다.
다음은 내가 많이 사용하는 문자열 추출을 위해서...보통 abc#####end 처럼..앞과 끝은 알아도 중간에 것을 몰라 추출을 하기 어려울때가 있다...이럴떤 위에 패턴을
abc(?<value>.*)end 와 같은 방법으로 추출하면 된다. ^^ ;
어디서 퍼왔긴 했는데 알수가 없네요 죄송 ㅡㅡ;
'심심풀이 개발' 카테고리의 다른 글
자동화 서버는 개체를 작성할 수 없습니다 (0) | 2011.06.07 |
---|---|
WPF에서 GIF 구현 (0) | 2011.04.18 |
WPF Panel 공부 (0) | 2011.02.18 |
무료 WPF 차트 (0) | 2011.02.17 |
Mysql 한글 설정 (0) | 2011.02.08 |