我需要简短表示ip address.Instead 0.0.0.0 0.0.0.0应该是0.0.0.0/0例如,
源文件:
set address "UntrustGn" "172.30.2.130/32" 172.30.2.130 255.255.255.255
set address "UntrustGn" "190.8.35.230/32" 190.8.35.230 255.255.255.255
set address "UntrustGn" "217.118.69.0/24" 217.118.69.0 255.255.255.0
输出文件:
set address "UntrustGn" "172.30.2.130/32" 172.30.2.13/32
set address "UntrustGn" "190.8.35.230/32" 190.8.35.230/32
set address "UntrustGn" "217.118.69.0/24" 217.118.69.0/24
我试图做的事情。但没有达到预期的效果....
帮助!请!
StreamReader reader = new StreamReader(opendialog.FileName);
string patternZone = @"set address "".*"" "".*"" [0-9]+.[0-9]+.[0-9]+.[0-9]+( [0-9]+.[0-9]+.[0-9]+.[0-9]+)";
var matchesZone = Regex.Matches(reader.ReadToEnd(), patternZone);
foreach(var match in matchesZone)
{
txt.AppendText(match.ToString().Replace(" 255.255.255.255", "/32");
}
答案 0 :(得分:0)
试试这个:
string resultString = null;
try {
resultString = Regex.Replace(subjectString, @"""(\d+\.\d+\.\d+\.\d+)(/\d+)""\s*(\d+\.\d+\.\d+\.\d+)\s*\d+\.\d+\.\d+\.\d+", new MatchEvaluator(ComputeReplacement));
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}
public String ComputeReplacement(Match m) {
// You can vary the replacement text for each match on-the-fly
return "\"$1$2\" $3$2";
}