|
|
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
1-ком. квартира - 555685,8-950-991-12-12 Этаж: 5/5, Площадь: 45/28/6 кв.м, Санузел: совмещенный, Комнаты: изолированные, http://www.site.com/ad.php?id=208486411 Регулярка: \d{1,}[\d-)•]{4,18}\d+? Проблема в том, что нужно запретить регулярке находить ID объявления, но получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 15:52:00 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Подойдёт ? \b(\d*)\s*\,\s*([0-9-]{10,18})\b ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 17:04:55 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
не совсем то нужно искать один конкретный телефон т.е. выцепить по одному номеру за раз т.е. регулярка должна видеть в данном случае отдельно "555685" и отдельно "8-950-991-12-12" мало того, цифры могут разделяться разными знаками: "+38(050)-608-73-73" или "+38 050 608-73-73". Люди не предсказуемы. Главный вопрос: как сказать регулярке, что если в начале номера какой-то определенный символ, например, знак равно, то пропускать такую группу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 19:36:38 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
X11Главный вопрос: как сказать регулярке, что если в начале номера какой-то определенный символ, например, знак равно, то пропускать такую группу. По-моему проще будет хватать цифры вместе с одним символом перед ними, а потом уже дропать то что начинается с '='. Потому что LookBehind-группы не работают в режиме global, а как без них это сделать - я даже затрудняюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:02:42 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
\d{6,},(.*?)\s[А-ЯЮЄЇ] $1 выведет номер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:04:40 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Т.е. захватывать так: https://regex101.com/r/RmwQ5b/1] Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:05:53 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
alekcvpа потом уже дропать то что начинается с '='. да, неплохая идея, хоть и код придётся перекомпилировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:19:48 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
TREY, в єтом случае: Комнаты: изолированные, http://www.site.com/ad.php?id=208486411, звонить по телефону 555685,8(950)991-12-12. ничего не найдёт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:22:31 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
X11TREY, в єтом случае: Комнаты: изолированные, http://www.site.com/ad.php?id=208486411, звонить по телефону 555685,8(950)991-12-12. ничего не найдёт \d{6,},([\+\d].*?\d)\s*[\.А-ЯЮЄЇ] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:25:18 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
TREY, это продолжение балета, т.е. придётся каждый раз подбирать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:27:20 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
X11TREY, это продолжение балета, т.е. придётся каждый раз подбирать. без полных входных данных тогда сложно чтото сказать .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:28:57 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
TREY, а если телефон будет один или три, или четыре? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:35:07 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
TREY\d{6,},(.*?)\s[А-ЯЮЄЇ] $1 выведет номер не выведет: 8(950)991-12-12,8(950)991-12-12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:36:14 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
X11TREY, а если телефон будет один или три, или четыре? нужны все или первый? после окончания номеров - "." или слово , или что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:42:42 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
TREYнужны все или первый? Конечно же все. TREYпосле окончания номеров - "." или слово , или что? я ж написал, что люди не предсказуемы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:46:42 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
X11TREYнужны все или первый? Конечно же все. TREYпосле окончания номеров - "." или слово , или что? я ж написал, что люди не предсказуемы :) в начальном примере у тебя Этаж после номера .. потом уже идут точки .. потом номеров несколько .. озвуч все входные данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 20:54:53 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
а это .*? вообще опасная комбинация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 21:06:52 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
TREY, так единого стандарта не существует. Если знать, что за чем идёт, то нафига вообще эти регулярки ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 21:07:41 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
а вместо знака равно может быть ещё тире (минус) ulitsa-13722783.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 21:09:30 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
(\d{6,}(\.\w+)*),((([\s\+]*(\d{1,}[\s\(\)\-]*\d+){4,}))[\,\.\s]*)+ https://regex101.com/r/RmwQ5b/5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 21:21:55 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
X11TREY, так единого стандарта не существует. Если знать, что за чем идёт, то нафига вообще эти регулярки ;) с твоими требоваиями тебе ИИ нужен на миллиард синапсов , а не регулярки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 21:23:06 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
X11а это .*? вообще опасная комбинация а это я ж написал что люди не предсказуемы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 21:29:06 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
у меня получилось вот такое выражение Код: plaintext пока работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 21:46:45 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
X11, нет, не работает, простой номер типа "0506312598" не находит, если больше нет ничего, а только цифры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 00:25:20 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
X11, Не вникал, но вот чтобы тебе перед регуляркой не избавиться от лишниз литералов? Т.е. оставить только цифры и запятую (как разделитель номеров) С ними и работать - т.е. отвязаться от "я ж написал что люди не предсказуемы :)" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 00:33:27 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
GatorТ.е. оставить только цифры и запятую (как разделитель номеров) там кроме номеров телефонов: id объявления, цена - и это тоже набор цифр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 08:42:20 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Ну пока такой вариант: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 08:49:25 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
X11, ([^\=,\.][\+]*(\d{1,2})*([\(\s\-])*(\d{3})([\)\s\-])*(\d{2,3})([\s\-])*(\d{2,3})([\s\-])*(\d{2,3}))|([\,\.\s]\d{6,}) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 09:32:57 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
TREY, нет, не правильно, потому что телефон один, а совпадений 10, какое из совпадений мне использовать? Должно быть: один телефон = одно совпадение пять телефонов - пять совпадений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 09:49:06 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
мало того, образец, слишком сложный для того, чтобы его понять, а если что-то поменять придётся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 09:49:53 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
X11TREY, нет, не правильно, потому что телефон один, а совпадений 10, какое из совпадений мне использовать? Должно быть: один телефон = одно совпадение пять телефонов - пять совпадений легко , йобта (?:[^\=,\.][\+]*(?:\d{1,2})*(?:[\(?:\s\-])*(?:\d{3})(?:[\)\s\-])*(?:\d{2,3})(?:[\s\-])*(?:\d{2,3})(?:[\s\-])*(?:\d{2,3}))|(?:[\,\.\s]\d{6,}) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 09:54:05 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
да, я знаю, что можно добавить ?: но это ещё больше усложняет образец ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 10:01:20 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
X11там кроме номеров телефонов: id объявления, цена - и это тоже набор цифр.Как вариант смотреть на количество цифр 380671234567 - 12 0671234567 - 10 И для городских 6 или 7. Вариант с городским в 5 цифр не рассматриваем, т.к. в 99% случаев перед ним идет еще 5 цифр кода и он сводится к первому или 2 варианту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 14:56:57 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
=_= Да просто берём аналог str_replace и заменяем ( и ) с - на пустоту, и потом парсим нужный текст. Главное что бы потом получилась 555685,89509911212 ... Тогда проблему со сверкой не будет. И регулярку можно будет написать так \b(\d*)\s*\,\s*(89509911212)\b а если надо два телефона \b(\d*)\s*\,\s*(89509911212|89501235947)\b На PHP бы я написал так Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Результатом будет Номер: 89509911212 Чёт - там: 555685 Номер: 89501235947 Чёт - там: 75677 http://sandbox.onlinephpfunctions.com/code/8fc4bf849fdd1452af5aa562f22ada97fdbfd593 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 15:50:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2041851]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
176ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 504ms |

| 0 / 0 |
