|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Добрый день! Есть вопрос по регулярным выражениям с использованием VBA Кто подскажет? Есть строка: "ВВГНГ(А) 3x2,5x10 * CFD " Необходимо из строки, выделить сечения - 3x2,5x10 Правило 1 - "([\d,\,]+[\x|\х][\d,\,]+)" Находит - 3x2,5 Правило 2 - "([\x|\х]([\d,\,]+) Находит - 2,5x10 Пытался объединить два правила, но не работает. ([\d,\,]+)[\x|\х]([\d,\,]+)[\x|\х]([\d,\,]+) Ниже подпрограмма VBA: Код: vbnet 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.
Модератор: Учимся использовать тэги оформления кода - FAQ ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 15:25 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Yuri KRне работает.А что именно не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 15:35 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Да, нужно уточнить... Если выполнить код для строки Str1, то 3x2,5 - не обнаруживается Для Str1 - ищет правило 1 Для Str2 - ищет правило 2 Общее правило не видит первую часть.... Str1 = "ВВГНГ(А) 3x2,5 *" Str2 = "ВВГНГ(А) 3x2,5x10 * CFD " т.е Res = objRegExp.Test(Str1) Set objMatches = objRegExp.Execute(Str1) ' работает корректно в правилом1 Res = objRegExp.Test(Str2) ' ' работает корректно в правилом2 Set objMatches = objRegExp.Execute(Str2) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 15:51 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Если я правильно понял задачу, то вот такой паттерн Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 16:15 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
да, спасибо, работает! Ищется в разных вариантах... единственно хочу уточнить... я писал x|х только потому, что в строке может встречаться "х" латинская буква или "х" кириллица В вашем варианте "xx" - что означает ? и как тогда учесть, что "х" бывает русской или латинской буквой ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 16:34 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Yuri KRЕсть строка: "ВВГНГ(А) 3x2,5x10 * CFD " Необходимо из строки, выделить сечения - 3x2,5x10 А просто Код: vbnet 1.
чем не устраивает? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 16:39 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Yuri KRВ вашем варианте "xx" - что означает ?Это вас надо спросить, что означают все эти [\d,\,] и [\x|\х]. Читайте синтаксис регулярок, я написал, как должно быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 16:49 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
А какой результат у вас возвращает ? - Split(StrX)(1) У меня ошибка .... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 16:49 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Shocker.Pro, спасибо огромное! все работает правильно.... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 17:07 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Yuri KRА какой результат у вас возвращает ? - Split(StrX)(1) У меня ошибка ....Следи за руками: ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2019, 08:15 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Akina, добрый день! Ваш вариант также работает корректно Str2 = "ВВГнг(А) 3х1,5x10 (AB) " :? Split(Str2)(1) 3х1,5x10 Но вот есть записи, которые идут без пробела и там есть уже нюанс... Str2 = "ВВГнг(А) 3х1,5x10(NP) *" :? Split(Str2)(1) 3х1,5x10(NP) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2019, 14:21 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Yuri KRи там есть уже нюансЭто называется "задача определена неполностью". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2019, 16:09 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Akina, в принципе, да ... Но этим можно пренебречь в данном случае из-за кол-ва таких записей и вообще обозначить условия к записям и тем, кто их присылает... Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2019, 16:24 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Yuri KR, Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2019, 11:01 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Руслан Дамирович, добрый день! Спасибо за подсказку в оптимизации кода и приведению к стандартному виду! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2019, 09:54 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Руслан Дамирович, к сожалению, регулярное выражение видит только "x" - латинское А ''х'' - кириллица не выделяется. Может все таки ставить x|х или [xх] - ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2019, 10:59 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Yuri KRРуслан Дамирович, к сожалению, регулярное выражение видит только "x" - латинское А ''х'' - кириллица не выделяется. Может все таки ставить x|х или [xх] - ? [xх] и обязательно заменять х на x в найденном Для отладки регулярных выражений рекомендую обзавестись regexbuddy или пользоваться любым онлайн ресурсом например, ваш пример ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2019, 12:59 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2019, 16:15 |
|
Вопрос по регулярным выражениям с использованием VBA
|
|||
---|---|---|---|
#18+
Руслан Дамирович, .....[xх] и обязательно заменять х на x в найденном Интересно, а можно ли в найденном заменять функционалом регулярных выражений ? Например, "х" кириллицу на "x" латиницу .... Или замена уже классическим методом выполняется? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 15:12 |
|
|
start [/forum/topic.php?fid=61&msg=39813360&tid=2172062]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 309ms |
total: | 457ms |
0 / 0 |