2013-10-20 3 views
0

구분 기호를 정규식으로 유지하는 방법은 무엇입니까?구분 기호를 정규식으로 유지하는 방법

나는 해봤 다음

string str = "user1;user2;user3;user4"; 

      Regex regex = new Regex(@"\w;");  

      string[] splites = regex.Split(str); 
      foreach (string match in splites) 
      { 
       Console.WriteLine("'{0}'", match); 
       Console.WriteLine(Environment.NewLine); 
      } 

출력 :

user1 
user2 
user3 
user4 

나는 다음과 같이되고 싶어하지만,하지 말라 :

출력 :

user1; 
user2; 
user3; 
user4 

답변

1

Regex.Matches

string str = "user1;user2;user3;user4"; 
Regex re = new Regex(@"(?<=;)"); 
foreach (var match in re.Split(str)) { 
    Console.WriteLine(match); 
} 

Demo run

0

는이

처럼이 어떤 일을 시도 할 수 있습니다 :

string str = "user1;user2;user3;user4"; 
Regex re = new Regex(@"\w+;?"); 
foreach (var match in re.Matches(str)) { 
    Console.WriteLine(match); 
} 

Demo run


이 또는 당신이 lookbehind 주장을 사용할 수 있습니다 더 적절한 것 같다

 string str = "user1;user2;user3;user4"; 
     MatchCollection matchs= Regex.Matches(str, @"[\w]+;?"); 
     foreach (Match m in matchs) 
     { 
      Console.WriteLine(m.Value); 
     } 
관련 문제