C#特殊字符之间的Regexcollection

本文关键字:Regexcollection 之间 特殊字符 | 更新日期: 2023-09-27 18:24:54

我正在尝试使用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'"":'"".*"'""");

提前感谢

C#特殊字符之间的Regexcollection

正则表达式可以像一样简单

@"'d+"

如果将@与字符串(例如@"string")一起使用,则不会处理转义字符。在这些字符串中,使用""而不是'"来表示双引号。试试这个正则表达式:

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

尝试以下操作:

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) ;
}

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