당신은 어떻게 검색 선택한 텍스트 정규식을 사용하여 C#에서?
문제
당신은 어떻게 검색 선택한 텍스트 정규식을 사용하여 C#에서?
내가 찾는 C#코드에 해당하는 Perl 코드:
$indexVal = 0;
if($string =~ /Index: (\d*)/){$indexVal = $1;}
해결책
int indexVal = 0;
Regex re = new Regex(@"Index: (\d*)")
Match m = re.Match(s)
if(m.Success)
indexVal = int.TryParse(m.Groups[1].toString());
저는 있는 그룹 번호를 잘못이지만,당신이 할 수 있어야 그림이 그것을 밖으로 여기에서이다.
다른 팁
나는 생각한 패트릭 박 이--에 대해 알아보려면 기억하라는 regex 그룹이 존재하는,그래서 당신은하지 않는 가 을 사용하여 배열 색인 번호입니다.
Regex.Match(s, @"Index (?<num>\d*)").Groups["num"].Value
내가 찾는 정규식이 조금 더 읽을 수 있는 이 방법뿐만 아니라,하지만 기...
당신이 원하는 활용하는 일치하는 그룹,그래서 그런 것 같...
Regex MagicRegex = new Regex(RegexExpressionString);
Match RegexMatch;
string CapturedResults;
RegexMatch = MagicRegex.Match(SourceDataString);
CapturedResults = RegexMatch.Groups[1].Value;
는 것
int indexVal = 0;
Regex re = new Regex(@"Index: (\d*)");
Match m = re.Match(s);
if (m.Success)
indexVal = m.Groups[1].Index;
할 수도 있습니다 이름은 그룹(여기에 나는 또한 생략의 편집 regexp)
int indexVal = 0;
Match m2 = Regex.Match(s, @"Index: (?<myIndex>\d*)");
if (m2.Success)
indexVal = m2.Groups["myIndex"].Index;
int indexVal = 0;
Regex re = new Regex.Match(s, @"(<?=Index: )(\d*)");
if(re.Success)
{
indexVal = Convert.ToInt32(re.Value);
}
제휴하지 않습니다 StackOverflow