Perl 스크립트를 C# 3.5 루틴으로 변환하려고합니다.Regex.split, 일치하는 패턴의 왼쪽을 읽는 방법
내가 가진 펄 코드는이 :
C#에서if($work =~ /\<[0-9][0-9][0-9]\>/){
$left = $`;
$match = $&;
$work = $';
}
는 다음 코드 작성 :
string[] sSplit = Regex.Split(work, @"\<[0-9][0-9][0-9]\>");
if sSplit.length is > 2
{
left = sSplit[0];
match = sSplit[1];
work = sSPlit[2];
}
을 그러나 sSplit[1]
위의 나에게 부여되지 않은 일치하는 패턴하지만 내용 대신 일치하는 문자열의 오른쪽.
당신이 중 하나를 싶지 않을 것이다 (*.?) : (. 금지 사항
$&
형태 변수없이) 펄은당신은 그들 주위에 괄호를 넣어 펄 delimters를 캡처 단지 같은 방식으로 작동합니다 또는 (. *)? 일치하는 문자열이 반복되고 모든 일치 항목을 얻고 싶고 왼쪽과 오른쪽에있는 항목을 원한다면 어떻게 될지 궁금합니다.이 질문의 범위를 벗어나는 내용이지만 읽었을 때 조금 이상합니다. – Chris
@Chris : 두 번째 것이'(. *?)'또는'(. *)'인지 여부는 이후의'$'때문에 차이가 없습니다. 첫 번째 것은 중요합니다. 첫 번째 일치를 얻을 수 있도록'(. *?)'입니다. '(. *) '를 사용하면 마지막을 얻을 수 있습니다. – Timwi
여러분, 많은 도움을 많이 주셔서 감사합니다! – Desai