Есть ли способ в C# использовать регулярное выражение, но возвращать (с регулярным выражением Regex.Match) часть Regex? Например,"скрытый" 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