我在 Windows 7 中使用 VS 2017。正則表達(dá)式匹配不適用于我的代碼。雖然內(nèi)容里有我要匹配的字符串,但是我的代碼匹配不到。我試圖在 while 循環(huán)中使用 regex.Match() 方法來匹配響應(yīng)。Regex regex = new Regex(@"CHIP*");var match = regex.Match(resp);if (match.Success) { textBox1.AppendText(match.Groups[1].Value); }盡管 resp 包含“CHIP......”,但 textBox1 沒有顯示任何內(nèi)容。
4 回答

湖上湖
TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
您正在使用match.Groups[1].Value
相反,你應(yīng)該使用match.Groups[0].Value

天涯盡頭無女友
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
嘗試
if (match.Success)
{
textBox1.AppendText(match.Value);
}

拉莫斯之舞
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
您的正則表達(dá)式CHIP*
將匹配CHI
后跟P
0-> 無限次的字母。
如果您希望它的行為類似于通配符表達(dá)式(CHIP
后跟任何其他內(nèi)容),那么您希望您的表達(dá)式是:
CHIP(.*)
括號將那部分放在匹配組中,這樣您就可以獲得值的那部分,.
匹配任何字符,并且*
表示“0 次或更多次”。如果你想在 CHIP 一詞之后要求一些東西(使后綴成為強(qiáng)制性的),那么你可以*
用+
.
- 4 回答
- 0 關(guān)注
- 126 瀏覽
添加回答
舉報(bào)
0/150
提交
取消