날자별

2021 2월
1234567
891011121314
15161718192021
22232425262728

정규식 샘플

[csharp]string pattern = string.Empty;

Regex r;
Match m;
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);
} [/csharp]

[csharp]
@”((http|https|ftp|mms)://[0-9a-z-]+(.[_0-9a-z-]+)+(:[0-9]{2,4})?/?)”; // domain+port
@”([.~_0-9a-z-]+/?)*”; // sub roots or sub directory
@”(S+.[_0-9a-z]+??)?”; // file & extension string
@”([_0-9a-z&=-]+)*”; // parameter
@”^d{5}$”; // 미국 우편 번호와 같은 5자리 숫자입니다.
@”^(d{5})|(d{5}-d{4}$”; // 5자리 숫자 또는 5자리 숫자-대시-4자리 숫자입니다. 미국 우편 번호 또는 미국 우편 번호+4 형식과 일치합니다.
@”^(d{5}(-d{4})?$”; // 앞의 예와 같지만 더 효율적입니다. ?를 사용하면 교체를 통해 별도의 패턴 두 개를 개별적으로 비교해야 하는 대신에 패턴의 4자리 부분을 선택적으로 입력할 수 있습니다.
@”^[+-]?d+(.d+)?$”; // 실수와 일치하며 선택적으로 기호를 사용할 수 있습니다.
@”^[+-]?d*.?d*$”; // 위의 예와 같지만 빈 문자열에도 일치합니다.
@”^(20|21|22|23|[01]d)[0-5]d$”; // 24시간 값과 일치합니다.
@”/*.**/” // C 스타일 주석 /* … */의 내용과 일치합니다.
@”(?:(ftp|https?|mailto|telnet):\/\/)?” //프로토콜부분 – 있을수도 없을수도
@”[a-zA-Z]w+.[a-zA-Z]w+(.w+)?(.w+)?” //domain의 기본 골격은 daum.net
@”([:?=&/%.-]+\w+)*”; //도메인 뒤에 추가로 붙는 서브url 및 파라미터들 이부분이 아직은 미흡하여 오류가 가끔 일어난다.
[/csharp]

Leave a Reply

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.