我正在尝试使用正则表达式来解析以下输入中的值903001
,343001
,343491
:
"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\"":\"".*"\""");
提前致谢
答案 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) ;
}
[并阅读如何使用正则表达式]