2013-08-28 110 views
0

我想通過正則表達式比較以下字符串。我有很多時間衝浪,但無法得到它的模式。比較正則表達式

  string str = "Full Name: Atif Mahmood" 
        + "ID Number: 12345678901" 
        + "Mobile Number: +921234567890"; 

在上面的字符串

Full Name: 

ID Number: 

Mobile Number: 

是必要的序列並且應該有這些常數後的任何字符串。

+4

我仍然不明白;你想要一個能夠識別你聲明的'string str'的​​正則表達式嗎? – AAlferez

+2

澄清:你想提取字符串的這些部分,並與另一個字符串進行比較? – oddparity

+1

「比較」是什麼意思?你似乎沒有比較任何東西。你的意思是你想在「全名:」,「ID號碼」和「手機號碼:」之後提取文本嗎? –

回答

4
var regex = "Full Name:(.*)ID Number:(.*)Mobile Number:(.*)"; 
var match = Regex.Match(string, regex); 

match.Groups [1]將包含名稱,[2]將包含ID號碼等(組[0]將是整個匹配組,所以計數每場比賽從1開始)

這可能需要一些防彈措施,但你明白了嗎?

2

如果你想檢查字符串遵循你所說的模式,這種表達應該這樣做:

const string expression = "Full Name:.*ID Number:.*Mobile Number:.*"; 
bool correct = Regex.IsMatch(str, expression); 
+0

您可能想要添加錨點。否則,在全名前面會允許任何內容: –

+0

@ m.buettner - 真,取決於匹配的規則。該規範有點含糊。 – PHeiberg