첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ Regex 클래스 : 단어 찾기 예제

----------------------------------------------------------------------------------------------------

MatchCollection matchCollection = CreateMatchCollection("단어1, 단어2, 단어3, 단어4, 단어5", "단어", false, false);

 

if(matchCollection.Count == 0)

{

    Console.WriteLine("일치하는 단어가 없습니다.");

}

else

{

    for(int i = 0; i < matchCollection.Count; i++)

    {

        Match match = matchCollection[i];

 

        Console.WriteLine(string.Format("{0} : {1}", i + 1, match.Index));

    }

}

----------------------------------------------------------------------------------------------------

 

■ Regex 클래스 : 특정 단어 찾기

----------------------------------------------------------------------------------------------------

using System.Text;

using System.Text.RegularExpressions;

 

#region MatchCollection 객체 생성하기 - CreateMatchCollection(source, target, matchWholeWord, matchCase)

 

/// <summary>

/// MatchCollection 객체 생성하기

/// </summary>

/// <param name="source">소스 문자열</param>

/// <param name="target">타겟 문자열</param>

/// <param name="matchWholeWord">단어 전체 일치 여부</param>

/// <param name="matchCase">대소문자 일치 여부</param>

/// <returns>MatchCollection 객체</returns>

public MatchCollection CreateMatchCollection(string source, string target, bool matchWholeWord, bool matchCase)

{

    StringBuilder stringBuilder = new StringBuilder();

 

    if(matchWholeWord)

    {

        stringBuilder.Append(@"(?<=\W{0,1})");

        stringBuilder.Append(target);

        stringBuilder.Append(@"(?=\W)");

    }

 

    if(matchCase)

    {

        stringBuilder.Insert(0, "(?i)");

    }

 

    return Regex.Matches(source, stringBuilder.ToString());

}

 

#endregion

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요