特殊字符之间的C#Regexcollection

时间:2013-07-25 20:40:53

标签: c# regex

我正在尝试使用正则表达式来解析以下输入中的值903001343001343491

"contact_value":"903001" other random
"contact_value":"343001" random information
"contact_value":"343491" more random

我在c#中使用了以下内容,但它返回“contact_value”:“903001”

MatchCollection numMatch = Regex.Matches(input, @"contact_value\"":\"".*"\""");

提前致谢

3 个答案:

答案 0 :(得分:1)

正则表达式可以像

一样简单
@"\d+"

答案 1 :(得分:0)

如果对@使用字符串(例如@“string”),则不会处理转义字符。在这些字符串中,您使用""代替\"来表示双引号。试试这个正则表达式:

var regex = @"contact_value"":""(\d+)"""

答案 2 :(得分:0)

尝试类似:

string input = "\"contact_value\":\"1234567890\"" ;
Regex rx = new Regex( @"^\s*""contact_value""\s*:\s*""(?<value>\d+)""\s*$" ) ;
Match m = rx.Match( input ) ;
if ( !m.Success )
{
    Console.WriteLine("Invalid");
}
else
{
    string value = m.Groups["value"].Value ;
    int n = int.Parse(value) ;
    Console.WriteLine( "The contact_value is {0}",n) ;
}

[并阅读如何使用正则表达式]