[英]regex match can not match well in C#
我在Windows 7中使用VS 2017。
正则表达式匹配不适用于我的代码。 虽然内容包含我想要匹配的字符串,但我的代码无法匹配它。
我试图在while循环中使用regex.Match()方法来匹配resp。
Regex regex = new Regex(@"CHIP*");
var match = regex.Match(resp);
if (match.Success)
{
textBox1.AppendText(match.Groups[1].Value);
}
虽然resp包含“CHIP ......”,但textBox1没有显示任何内容。
您可以尝试使用此正则表达式字符串。 “ ^CHIP(.+)"
您正在使用match.Groups[1].Value
相反,你应该使用match.Groups[0].Value
尝试
if (match.Success)
{
textBox1.AppendText(match.Value);
}
您的正则表达式CHIP*
将匹配字母CHI
然后是P
0->无限次。
如果你想要它的行为是一个通配符表达式( CHIP
后跟其他任何东西),那么你希望你的表达式是:
CHIP(.*)
括号将该部分放在匹配组中,这样您就可以获得该值的那一部分.
匹配任何字符, *
表示'0次或更多次'。 如果你想要求的话后芯片的东西(做后缀强制的),那么你会替换*
用+
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.