Страницы: 1
RSS
Регулярные выражение и исключение текста из строки
 
Здравствуйте,

Пытаюсь решить дилемму,

имеется строка А, которая содержит в себе информацию: 37кук6.04  38 39 39 40бр9.04 40  
результат, который я пытаюсь достичь в строке В: 38 39 39 40

Пытаюсь с помощью регулярных выражений вывести исключительно числа, которые не содержат лишних символов
Возможно ли добиться подобного регулярными выражениями или думаю совсем не в том направлении?
Изменено: dether - 08.04.2020 23:59:07
 
Как Вы думаете, для помощи Вам у многих возникнет желание создавать файл и рисовать пример?
Помощь, которую Вы пропустили, здесь

Цитата
dether написал: Пытаюсь решить дилемму...
Цитата
Диле́мма (греч. δί-λημμα «двойная лемма») — полемический довод с двумя противоположными положениями, исключающими друг друга и не допускающими возможность третьего.
И где она у Вас?
 
Цитата
И где она у Вас?
Один из вариантов решения - это регулярные выражения, но я почему-то интуитивно уверен в том, что возможен и иной исход.
Очень забавная реакция на мои словесные для Вас непонимания.  
 
Почему же забавная? Где исключающие друг друга положения?
Да и в названии темы Вы четко ставите задачу - применение ТОЛЬКО регулярных выражений.
 
dether, здравствуйте
Извлекаете только числа (как тут или тут), потом удаляете ненужные из них
Можно было бы сразу, но алгоритм "правильности" неясен…

P.S.
dether,
Цитата
vikttur: Где исключающие друг друга положения?
тмеется ввиду, что дилемма обычно звучит как "с одной стороны …, но с другой стороны …", где обе "стороны" одновременно и логичные и взаимоисключающие. Короче говоря, зачем использовать умные слова, смысл которых не знаете (знаете плохо/неточно)?…  :D
Изменено: Jack Famous - 09.04.2020 11:12:27
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Код
Sub dd()
    Dim s$: s = "37кук6.04  38 39 39 40бр9.04 40"
    With CreateObject("vbscript.regexp")
        .Global = 1
        .Pattern = "(?:(\s)+|^)(\d+)(?:(\s)+|$)|."
        If .test(s) Then Debug.Print Application.Trim(.Replace(s, "$1$2$3"))
    End With
End Sub
Страницы: 1
Наверх