.NET 4.x Поправить регулярное выражение - C#
Формулировка задачи:
Здравствуйте, помогите пожалуйста разобраться, где ошибка в выражении:
Выражение должно разбирать строки вида (слово_1пробел_положительноеЧисло):
И не разбирать такие:
Проблема с "Word 123". Сколько пробелов не вводи, всеравно пропускает.
new Regex(@"^(?<word>.+)\s{1}(?<number>[0-9]*)$");"123 123" "Dog 7" "Cat 2" "People 100"
"Word 123" //тут проблема "Word1" " Word -1" "Word -1" "Word 1 " "Word Word"
Решение задачи: «.NET 4.x Поправить регулярное выражение»
textual
Листинг программы
using System;
using System.Text.RegularExpressions;
internal class Program
{
private static void Main(string[] args)
{
Regex reg = new Regex(@"^(?<string>\S+)\s(?<Number>\d+)$");
string[] str = {
"123 123",
"Dog 7",
"Cat 2",
"People 100",
"Word 123",
"Word1",
" Word -1",
"Word -1",
"Word 1 ",
"Word Word"
};
foreach (var s in str)
{
var match = reg.Match(s);
Console.WriteLine(match.Groups["string"]+" "+match.Groups["Number"]);
}
}
}