我想通過正則表達式比較以下字符串。我有很多時間衝浪,但無法得到它的模式。比較正則表達式
string str = "Full Name: Atif Mahmood"
+ "ID Number: 12345678901"
+ "Mobile Number: +921234567890";
在上面的字符串
Full Name:
ID Number:
Mobile Number:
是必要的序列並且應該有這些常數後的任何字符串。
我想通過正則表達式比較以下字符串。我有很多時間衝浪,但無法得到它的模式。比較正則表達式
string str = "Full Name: Atif Mahmood"
+ "ID Number: 12345678901"
+ "Mobile Number: +921234567890";
在上面的字符串
Full Name:
ID Number:
Mobile Number:
是必要的序列並且應該有這些常數後的任何字符串。
var regex = "Full Name:(.*)ID Number:(.*)Mobile Number:(.*)";
var match = Regex.Match(string, regex);
match.Groups [1]將包含名稱,[2]將包含ID號碼等(組[0]將是整個匹配組,所以計數每場比賽從1開始)
這可能需要一些防彈措施,但你明白了嗎?
如果你想檢查字符串遵循你所說的模式,這種表達應該這樣做:
const string expression = "Full Name:.*ID Number:.*Mobile Number:.*";
bool correct = Regex.IsMatch(str, expression);
您可能想要添加錨點。否則,在全名前面會允許任何內容: –
@ m.buettner - 真,取決於匹配的規則。該規範有點含糊。 – PHeiberg
我仍然不明白;你想要一個能夠識別你聲明的'string str'的正則表達式嗎? – AAlferez
澄清:你想提取字符串的這些部分,並與另一個字符串進行比較? – oddparity
「比較」是什麼意思?你似乎沒有比較任何東西。你的意思是你想在「全名:」,「ID號碼」和「手機號碼:」之後提取文本嗎? –