2014-11-28 4 views
1

Я ищу помощь с регулярным выражением для проверки строки, которая может содержать 10 цифр, разделенных другими символами или алфавитами. НапримерRegex для проверки чисел в строке

call1234567890 
1234567890call 
12.34_567.890_call 

Я попытался \D*(\d\D*){10}$, как предложено в других постах, но это соответствует любой строке, которая имеет номера, даже если 1 и символы после 1. Так Silly_1_me также поимки

+0

Каким будет ваш ожидаемый результат с учетом ввода? Было бы здорово, если бы вы могли отредактировать это в своем вопросе, просто для ясности. –

ответ

0

Вы должны нуждаться включить стартовый якорь ^, чтобы он выполнял точное совпадение строк или иначе, он выполнял бы частичное совпадение строк.

@"^\D*(\d\D*){10}$" 

DEMO

Для многострочного ввода, его лучше использовать регулярное выражение ниже.

@"^[^\n\d]*(\d[^\n\d]*){10}$" 
Смежные вопросы