2009-04-03 3 views
16

У меня есть строка, которая может содержать или не содержать 4 или 5 цифр. Я ищу регулярное выражение, которое может обнаружить, действительно ли строка имеет такое число.Regex найти номер в строке

+5

+1: Не знаю, почему этот вопрос был опущен. Может быть, некоторые из l33t sooper h @><0rz на этом сайте были слишком далеко под ними, чтобы заслужить ответ, хотя в FAQ на этом сайте говорится, что нет вопросов «слишком просто», чтобы спросить ... – Juliet

+0

Почему бы не использовать цикл for? – Mikhail

ответ

15

несложный один, чтобы избежать длинных чисел будет:

([^\d]|^)\d{4,5}([^\d]|$) 

Я предполагаю, что вы не хотите разрешать запятую после цифр тысяч? Если вы это сделаете, то:

([^\d]|^)\d{1,2},\d{3}([^\d]|$) 
0

.NET? Тогда это [0-9]{4,5}

+0

\ d работает нормально .Net тоже. –

+0

Справа. Я не очень люблю парня Regexp, поэтому не помню классов персонажей. [0-9] проще. : D –

2

\ d {4,5} будет также найти строки с 6 значных чисел в - я не знаю, что ли проблема или нет. Вы можете захотеть сделать что-то вроде этого:

([^ \ d] + | ^) \ d {4,5} [^ \ d]

+0

Спасибо за согласие, но есть лучшие ответы, чем сейчас. –

Смежные вопросы