簡體   English   中英

正則表達式匹配在C#中不能很好地匹配

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM