2013-06-14 4 views
0

У меня есть следующее регулярное выражение: (\ d {14}) десятичное число, которое соответствует длине 14 символов. Проблема в том, что она также соответствует номерам длиной 16 символов. Мне нужно добавить условие для соответствия , если в начале или конце строки нет чисел.regex не соответствует правильному номеру

Так, например, 112222222222222233 не совпадают, я хочу, но xx22222222222222xx будет соответствовать мне нужно.

+1

'^ \ d {14}) $', кажется, работает – user1937198

+0

насчет ' "x0xx00001111222234xx" '? :) –

ответ

1

ответ M42 может работать в тех случаях, когда число разделённых пробелами или другими разделителями слов. Но если вы хотите, чтобы соответствовать номер в слово, содержащее нецифровые (например, ваш пример xx22222222222222xx) что-то, как это должно работать:

(^|[^\d])\d{14}([^\d]|$) 
+0

безупречный! именно то, что мне нужно, спасибо человеку! – Kristian

+0

@Kristian без проблем. – ctn

5

использование граница слова \b

\b\d{14}\b 
Смежные вопросы