2013-07-04 2 views
-4

전 세계를 C#에서만 일치시키는 데 문제가 있습니다.정규 표현식 전체 단어에만 일치

특히 문자열은 C#BKN005이며 전체 단어 만 검색하려고합니다.

\bC#BKN00([0-9]{1})\b 

을하지만 문자열이 BKN005을 경우는 true를 돌려 :이 정규식을 사용하고 있습니다.


는 여기에 내가 사용하고 코드입니다 :

modify = Regex.Replace(modify, @"\bC#BKN00([0-9]{1})\b", "ceiling $1 hundred broken."); 

날 명확히하자. 나는 C#BKNBKN을 모두 가지고 있으며 두 가지를 구별 할 수 있어야합니다.

나는 다음과 같은 코드를 실행하면, '진정한'반환하지 않습니다
+4

정규식은 'BKN005'와 절대 일치하지 않습니다. 일치를 수행하는 데 사용하는 코드를 게시하십시오. 해당 코드의 어딘가에 오류가 있어야합니다. –

+0

해당 문자열이 일치하지 않으므로 코드를 게시하십시오. –

+0

무엇을 검색하고 있습니까? regex 올바른 방향으로 가고 있습니까? – Sayse

답변

1

:

public void Main() 
{ 
    string matchstr = "\\bC#BKN00([0-9]{1})\\b"; 
    string modify = null; 
    modify = Regex.Replace("C#BKN005", matchstr, "ceiling $1 hundred broken."); 
    Console.WriteLine(modify); 
    Console.WriteLine(Regex.Replace("BKN005", matchstr, "ceiling $1 hundred broken.")); 
    Console.ReadLine(); 
} 

를 내가 얻을 :

  • 천장 깨진 $ (1) 백
  • BKN005

무엇을 반환 하시겠습니까?