0
想象一下,我有一個正則表達式應該捕獲一個HTML鏈接,並用另一個鏈接替換它。正則表達式用指定組和其他所有內容替換
的正則表達式將是這個樣子:
<a.+?href="(?'url'.+?)".*?>
它會匹配這樣的HTML標籤:
<a href="http://www.google.com">
或本:
<a target="_blank" href="#top">
如果我現在請
regex.Replace(new MatchEvaluator(ReplaceUrl))
我會得到一個參數Match並在指定的組內。
但Match.Groups集合不僅包含3個項目。
我如何把整個比賽重新走到一起,這樣的結果將是
<a href="http://www.EvulRulz.devil">
或者我真的需要把一切到一個組呢?
感謝Jonesy(見下面我終於掌握了組集合中的指標含義,
所有未命名的組僅編號從1開始,他們出現在相同的順序,他們在正則表達式模式
所以我的更換方法如下所示(基於未修改的正則表達式,我會真正適應):
private static String ReplaceUrl(Match match)
{
return (match.Groups[1].Value + "http://www.EvulRulz.devil" + match.Groups[2].Value);
}
我堅持了我的MatchEvaluator超載,因爲在現實中,我需要做多一點,但現在我已經理解了組索引的含義。 所以,我的代碼看起來更像這樣: match.Groups [1] .Value +「EvulRulz.devil」+ match.Groups [3] .Value – 2014-11-04 20:54:26