|
|
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
добрый день подскажите, пожалуйста как написать регулярное выражение для Oracle 11g, которое бы искало ровно 6 одинаковых цифр подряд? Например, оно должно найти строки: '9999990' или '0999999', но не должно найти '9999999' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 13:51 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
пробовал "([0-9])\1{5}", но оно также выполняется и для '9999999'. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 14:01 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
EvilArcher1, Когда ты переформулируешь для себя постановку как 6 одинаковых цифр, обрамленных иными символами или концами строк, тогда и регулярку легче будет написать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 14:22 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, Допустим я нашел символ, который повторяется 6 раз (в моем примере это '9'). Не могу понять как в регулярном выражении указать, что их должны обрамлять иные символы. Я пробовал с помощью конструкции [^], но ничего не вышло. Заранее же не известно, какая цифра будет повторяться в строке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 14:34 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
EvilArcher1, Можно через 10 альтернатив выражения для каждой из цифр. То, есть если тебя надо строго шесть шестерок, то можно записать так Код: plaintext Или так (прицепив пробел, чтоб упростить регулярку) Код: plaintext Остальные выражения пречисляешь либо как предикаты через OR либо через | в маске регулярке. Может кто-от предложит красивее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 14:55 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
Иными словами, не понятно как исключить из обрамляющих символов тот, который найден повторяющимся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 14:56 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
EvilArcher1Иными словами, не понятно как исключить из обрамляющих символов тот, который найден повторяющимся. а напишите ещё один (исключающий) предекат с ещё одним (исключаемым) регулярным выражением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 15:00 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
orawish, если вы имели в виду нечто вида ([0-9])\1{5}[^\1], то это не работает, т.к. внутри [^] все символы воспринимаются сами по себе (т.е. как '\' и '1') и не получается исключить найденный повторяющийся символ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 15:13 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
EvilArcher1orawish, если вы имели в виду нечто вида ([0-9])\1{5}[^\1], то это не работает, т.к. внутри [^] все символы воспринимаются сами по себе (т.е. как '\' и '1') и не получается исключить найденный повторяющийся символ. Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 16:03 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
может быть что-то вроде Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 17:12 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
EvilArcher1, как на счет без регулярных? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 19:26 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
подправил Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 19:29 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
JafaEvilArcher1, как на счет без регулярных? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. он не знает что ето будут 9-ки ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 20:56 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
Stax..он не знает что ето будут 9-ки ..... stax а что, добавить условие для всех чисел это так сложно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 21:26 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
orawish Код: plsql 1. 2. 3. 4. 5. 6. 7. Этот вариант выглядит наиболее подходящим. Жаль, что пока не вижу способа по-проще. Спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2017, 06:24 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
Может не сработать: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2017, 18:12 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
Alexander_TtlМожет не сработать: Код: sql 1. 2. 3. 4. поясните, о чём вы.. насколько вижу, всё работает,как заказано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2017, 18:34 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
6 девяток подряд попадают под шаблон, значит, строка должна выводиться, но 7 идущих подряд нулей не дают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2017, 18:58 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
Регулярные выражения Oracle не поддерживают lookahead/lookbehind, посему требуется два прохода: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2017, 23:18 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
SY, не пойдет из-за Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2017, 12:05 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
SY, можно подправить так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. А вообще можно и одной регуляркой: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2017, 12:07 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
xtenderможно подправить так Согласен, и не можно а нужно (правда простого z в качестве разделительой replace_string по моему будет достаточно). xtenderА вообще можно и одной регуляркой А вот тут несогласен: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2017, 15:38 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
Тупое решение в лоб... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2017, 20:41 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
SYА вот тут несогласен:ну не надо так усложнять, можно проще: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2017, 21:10 |
|
||
|
Регулярные выражения Oracle
|
|||
|---|---|---|---|
|
#18+
Vadim Lejnin, в условиях написано, что больше 6 символов не надо... выделенные лишние Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2017, 21:13 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39414161&tid=1886331]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
143ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 493ms |

| 0 / 0 |
