我想將Perl腳本轉換爲C#3.5例程。Regex.split,如何閱讀匹配模式的左邊
Perl代碼我已經是:
if($work =~ /\<[0-9][0-9][0-9]\>/){
$left = $`;
$match = $&;
$work = $';
}
在C#中我寫了下面的代碼:
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]
匹配的模式,但內容相反的字符串的權利。
你不想要麼太:Perl的行爲一樣的方式(不禁止的
$&
類型變量。)你通過把周圍的括號捕獲的Perl delimters(*?)或(。*)都是?我只是想知道如果匹配的字符串重複出現,你想得到所有的匹配,他們的左右都是什麼,會發生什麼......雖然當我閱讀它時,這有點超出了這個問題的範圍。 – Chris 2010-08-16 15:21:38
@Chris:第二個是「(。*?)」還是「(。*)」,因爲後面的「$」沒有區別。第一個是重要的:它是'(。*?)',以便您獲得第一個匹配。用'(。*)'你會得到最後一個。 – Timwi 2010-08-16 15:23:34
大家好,非常感謝您的幫助! – Desai 2010-08-16 16:11:03