регулярное выражение с дополнительными данными на фронте - PullRequest
0 голосов
/ 12 ноября 2009

У меня есть регулярное выражение, похожее на это

((1010xxx)?(\d{11}|\d{10}|\d{7})+)  

В основном я хочу, чтобы это соответствовало

8085551234
5551234
10102338085551234

и должно произойти сбой на
1010233

Это больше для проверки, выполняемой на xsd, чем для фактического сопоставления.

PS. Я пытаюсь сопоставить американские телефонные номера длиной 7 - 11 цифр с дополнительным 1010xxx на передней панели. Также, если это 1010xxx, оно не должно пройти. ххх любые 3 цифры.

1 Ответ

2 голосов
/ 12 ноября 2009

Если все, что вам нужно, это убедиться, что это строка из 7, 10 или 11 цифр, убедитесь, что, если она состоит всего из 7 цифр, она не начинается с «1010», вы можете использовать отрицательное предпросмотр. совпадение на \d{7}, то есть:

((\d{11}|\d{10}|(?!1010)\d{7})+)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...