为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕莱坞森 2022-12-31 11:26:24
我在 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 没有显示任何内容。
查看完整描述

4 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

您正在使用match.Groups[1].Value

相反,你应该使用match.Groups[0].Value


查看完整回答
反对 回复 2022-12-31
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

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



查看完整回答
反对 回复 2022-12-31
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

尝试


 if (match.Success)

 {


   textBox1.AppendText(match.Value);


 }


查看完整回答
反对 回复 2022-12-31
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

您的正则表达式CHIP*将匹配CHI后跟P0-> 无限次的字母。

如果您希望它的行为类似于通配符表达式(CHIP后跟任何其他内容),那么您希望您的表达式是:

CHIP(.*)

括号将那部分放在匹配组中,这样您就可以获得值的那部分,.匹配任何字符,并且*表示“0 次或更多次”。如果你想在 CHIP 一词之后要求一些东西(使后缀成为强制性的),那么你可以*+.


查看完整回答
反对 回复 2022-12-31
  • 4 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信