[英]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.