我有一些字符串。我想要第一个和最后一个单引号之间的总字符串 例如:
string val = "'Scale['#13212']'"; //--->Scale['#13212']
string val2= "'Scale[#13212']"; //--->Scale[#13212
string val3="abc'23'asad"; //--->23
我使用了以下regex-@".*'(.*?)'.*"
,但它只显示最后两个之间的字符串。
例如:
string val = "'Scale['#13212']'"; //--->]
当我用来捕获字符串的整个值并且一个组(仅在组[1]中)用一对单引号包围时,贪婪工作正常 但是当我想捕获一个字符串的整个值和一个组(仅在组[1]中)用多对单引号包围时,它只捕获带有的字符串值的值最后一对,但不是第一个和最后一个单引号之间的字符串。
例如:
string val1 = "Content:abc'23'asad"; //--->23
string val2 = "Content:'Scale['#13212']'ta";
Match match1 = Regex.Match(val1, @".*'(.*)'.*");
Match match2 = Regex.Match(val2, @".*'(.*)'.*");
if (match1.Success)
{
string value1 = match1.Value;
string GroupValue1 = match1.Groups[1].Value;
Console.WriteLine(value1);
Console.WriteLine(GroupValue1);
string value2 = match2.Value;
string GroupValue2 = match2.Groups[1].Value;
Console.WriteLine(value2);
Console.WriteLine(GroupValue2);
Console.ReadLine();
// using greedy For val1 i am getting perfect value for-
// value1--->Content:abc'23'asad
// GroupValue1--->23
// BUT using greedy For val2 i am getting the string elcosed by last single quote-
// value2--->Content:'Scale['#13212']'ta
// GroupValue2---> ]
// But i want GroupValue2--->Scale['#13212']
}
请帮忙!