正则表达式匹配在 C# 中不能很好地匹配

我在 Windows 7 中使用 VS 2017。


正则表达式匹配不适用于我的代码。虽然内容里有我要匹配的字符串,但是我的代码匹配不到。


我试图在 while 循环中使用 regex.Match() 方法来匹配响应。


Regex regex = new Regex(@"CHIP*");

var match = regex.Match(resp);

if (match.Success)

 {


   textBox1.AppendText(match.Groups[1].Value);

 }

尽管 resp 包含“CHIP......”,但 textBox1 没有显示任何内容。


慕莱坞森
浏览 104回答 4
4回答

湖上湖

您正在使用match.Groups[1].Value相反,你应该使用match.Groups[0].Value

斯蒂芬大帝

您可以尝试使用此正则表达式字符串。“^CHIP(.+)"

天涯尽头无女友

尝试 if (match.Success) {   textBox1.AppendText(match.Value); }

拉莫斯之舞

您的正则表达式CHIP*将匹配CHI后跟P0-> 无限次的字母。如果您希望它的行为类似于通配符表达式(CHIP后跟任何其他内容),那么您希望您的表达式是:CHIP(.*)括号将那部分放在匹配组中,这样您就可以获得值的那部分,.匹配任何字符,并且*表示“0 次或更多次”。如果你想在 CHIP 一词之后要求一些东西(使后缀成为强制性的),那么你可以*用+.
打开App,查看更多内容
随时随地看视频慕课网APP