C#中是否有任何方式使用正則表達式,但只返回(與Regex.Match)正則表達式的一部分?例如,「隱藏」RegEx?
string input = "Hello my friend!";
string pattern = "\\w+ my friend.";
Console.WriteLine(Regex.Match(input, pattern)); //Returns "Hello my friend!"
但如果我只是想「你好」,或者只是在末標點?我知道我可以做類似「^\\w+
」(甚至只是.split(' ')[0]
),但隨後會匹配任何輸入的第一個字,我只希望它,如果它的其餘部分與匹配的第一個字匹配「my friend.
」有沒有辦法做到這一點,還是會比較簡單只是做
string input = "Hello my friend!";
string pattern = "\\w+ my friend.";
if (Regex.IsMatch(input, pattern))
{
Console.WriteLine(input.Split(' ')[0]);
}
else
{
Console.WriteLine("");
}
(對不起,如果這是非常簡單的,或者如果我失去了一些東西,我剛開始真的很喜歡使用Regexs)
謝謝,
馬修
感謝,這正是「潛伏」正則表達式我一直在尋找的類型: ) – MatthewSot