Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] regEXP | Вопрос по написанию.

Ответить
Настройки темы
Разное - [решено] regEXP | Вопрос по написанию.

Аватара для pingUIN

Пользователь


Сообщения: 137
Благодарности: 7

Профиль | Отправить PM | Цитировать


День добрый, нужна помощь по сабжу.

Код: Выделить весь код
79\\d\{8\}[0-5]
как я понимаю, означает следующее 79.00000000-79.55555555 где "." любая цифра, в данном случае как я понимаю охвачено 60% диапазона по номерной емкости, как можно было бы написать регулярку, чтобы охват по диапазону был всего 15%?

Код: Выделить весь код
79\\d\{8\}[0-2]
- как пример 30% охвата диапазона, но знаний для написания регулярки посложнее не хватает, может ли кто подсказать, как корректнее было бы написать выражение.



З.ы. Буду благодарен за линку на хорошее описание по регуляркам).

Спасибо.

-------
здесь был администратор 8)


Отправлено: 14:59, 21-06-2011

 

Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


означает это совсем другое (если это традиционное регулярное выражение):
79\d{8}цифра_от_нуля_до_пяти
\ - экранирует следующий за ним спецсимвол, т.е.
\\ означает символ \
\{ означает символ {
\} означает символ }

Отправлено: 16:23, 21-06-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


реализации могут различаться в деталях. Вот у multi-edit совсем не такие выражения как у pcre например. Уточни, где будешь использовать. А ещё regex работает с текстом. Нельзя отсеять например, диапазон чисел. Только можно перечислить, как он пишется. 79, точка и 8 чисел от 0 до 2 запишется как 79\.[0-2]{8}
Можно почитать msdn на тему regular expression syntax или доку к pcre (http://www.pcre.org/pcre.txt, примерно с середины)

Отправлено: 18:28, 21-06-2011 | #3


Аватара для pingUIN

Пользователь


Сообщения: 137
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата pva:
79, точка и 8 чисел от 0 до 2 запишется как 79\.[0-2]{8} »
Я ж вам не про это пишу, я на шаблоне понимание регулярки отобразил, как видимо ошибочно.
По сабжу, пока ничего не придумал.

Код: Выделить весь код
79\d{8}цифра_от_нуля_до_пяти
По факту примерно такое выражение и написано, но ввиду особенности используемого ПО, приходится спец символы экранировать.

-------
здесь был администратор 8)


Последний раз редактировалось pingUIN, 22-06-2011 в 16:28.


Отправлено: 11:49, 22-06-2011 | #4


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата pingUIN:
в данном случае как я понимаю охвачено 60% диапазона по номерной емкости, как можно было бы написать регулярку, чтобы охват по диапазону был всего 15%? »
что есть "номерная ёмкость"?.. числовая ёмкость такого выражения (6/10)^8 ~ 1,68%

Отправлено: 17:27, 22-06-2011 | #5

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


тогда так:
не заданы ограничения на номера, поэтому в старших разрядах укажем число 0-14, в младших - любые числа (не экранирую)
79(0\d{7})|(1[0-4]\d{6})
получится ровно 15%

Отправлено: 18:21, 24-06-2011 | #6


Аватара для pingUIN

Пользователь


Сообщения: 137
Благодарности: 7

Профиль | Отправить PM | Цитировать


Собственно под номерной емкостью понимался диапазон DEF номеров Российских операторов, пример [code]79160000000-79169999999[code] почему ограничение в емкости 11 цифр.

p.s. для заметки)
при звонке с домашнего 7 у нас заменяется на 8.

-------
здесь был администратор 8)


Отправлено: 11:13, 27-06-2011 | #7

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


pingUIN, ничего не поменялось: 8916ddddddd, где d - от 0 до 9, можно разделить на 2 части:
1) 891600ddddd-891614ddddd
2) 891615ddddd-891699ddddd
причём первая часть составит ровно 15% от всевозможных комбинаций. Совсем не обязательно фиксировать первые цифры. Можно любые, например 3(единицы) и 1(десятки) с конца.
Вообще я догадываюсь что есть ещё какие-то ограничения, но пока они не заявлены, имею право издеваться

Отправлено: 22:21, 27-06-2011 | #8


Аватара для pingUIN

Пользователь


Сообщения: 137
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата pva:
причём первая часть составит ровно 15% от всевозможных комбинаций. Совсем не обязательно фиксировать первые цифры. Можно любые, например 3(единицы) и 1(десятки) с конца. »
Диапазон 916 я взял для примера, если бы все было так просто, я думаю выше написанным регулярным выражением я уже бы пользовался, только прикол в том что кроме первых цифр 79 часть остального диапазона нам не известа и суть в том, чтобы понять как 15% от всех возможных емкостей отфильтровать по регэкспу.

>_<

-------
здесь был администратор 8)


Отправлено: 10:44, 30-06-2011 | #9

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


если нужно из неизвестного кол-ва случайных 7-значных чисел с неизвестной статистикой выбрать 15% от их кол-ва, то тут regex не поможет. Не для этих он целей. Тут нужен скрипт типа "отросить каждый энный элемент"

Отправлено: 20:25, 30-06-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] regEXP | Вопрос по написанию.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Java - RegExp JS Forpost Программирование и базы данных 1 06-02-2011 14:52
Разное - Вопросы по написанию плагинов для Opera 11 Clarc Программирование и базы данных 0 03-01-2011 20:24
Теория - Regexp-ы, определение количества совпадений hasherfrog Программирование и базы данных 2 02-04-2009 12:11
Java - Regexp java или иной библиотеки для парсинга HTML Flick Программирование и базы данных 5 25-03-2008 15:23
Кгде ж правельно учиться Написанию скриптов? minion Хочу все знать 4 28-11-2004 14:14




 
Переход