Как с помощью регулярных выражений проверить, что в строке дано число или просто пустой символ в c#

У меня есть строка, которую нужно проверить на корректность. Нужно, чтобы было в строке перед точкой было либо число(количество цифр может быть в пределах от 1 до 3), либо пустая область. Вот пример тех строк, которые должны быть определены как правильные:

string str = "word 10.5 something else";
string str2 = "word .5 something else";

Какое выражение для этого нужно использовать?

Я пробовал такие выражения:

new Regex(@"(*.?)\s\b[\d+\|]\b\.\d*\s"); 
new Regex(@"(*.?)\b[\s\d+\|\s]\b\.\d*\s");
new Regex(@"(*.?)\s[\d\|]*\.\d*\s");

и некоторые другие, но они не либо не работают, либо работают неправильно.


Ответы (1 шт):

Автор решения: CrazyElf

Зачем так сложно? По вашему описанию должно быть достаточно такого:

\s\d{0,3}\.

Проверка на regex101.

→ Ссылка