powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Задать шаблон в регулярном выражении???
10 сообщений из 10, страница 1 из 1
Задать шаблон в регулярном выражении???
    #35992050
DasTin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мучаюсь с регулярным выражением, никак не могу правильно маску задать.

У меня есть строка:

1:
Код: plaintext
 14 - 01 - 2009    0 . 34    0 . 00    1000   18 . 0009   2000 . 0156 

Мне нужно найти " 18.0009", но только если есть дата, т.е. значение " 18.0009" мне не нужно в строке типа:

2:
Код: plaintext
укуккукку    0 . 34    0 . 00    1000   18 . 0009   2000 . 0156 

Я задавал маску как:

Код: plaintext
.Pattern = "\d\d\-\d\d\-\d\d\d\d  |(\s+\d+\.\d{4})"

но что-то не то, значение из второй строки тоже тянет.

Подскажите, пожалуйста как это правильно сделать?
...
Рейтинг: 0 / 0
Задать шаблон в регулярном выражении???
    #35992085
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может без регулярных обойдетесь?
Код: plaintext
1.
2.
3.
4.
5.
6.
Dim s as String
s= "14-01-2009  0.34  0.00  1000 18.0009 2000.0156"

If InStr(s,"-")> 0  Then 
'а тут своё 18.0009 ищите
...
End if
...
Рейтинг: 0 / 0
Задать шаблон в регулярном выражении???
    #35992124
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
.Pattern = "^\d\d\-\d\d\-\d{4}  .+\s(\d+\.\d{4}) \d{4}\.\d{4}$"
...
Рейтинг: 0 / 0
Задать шаблон в регулярном выражении???
    #35992131
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть конечно
Код: plaintext
.Pattern = "^\d\d\-\d\d\-\d{4}  .+(\s\d+\.\d{4}) \d{4}\.\d{4}$"
...
Рейтинг: 0 / 0
Задать шаблон в регулярном выражении???
    #35992178
DasTin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

Может быть и так, но "-", встречается в файле помимо даты, да и значения с кол-вом знаком после запятой тоже, регулярное выражение здесь более выгодно. Неужели нет способа сцепить шаблон даты и значения??
...
Рейтинг: 0 / 0
Задать шаблон в регулярном выражении???
    #35992192
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim arr() As String
Dim s As String

s = "14-01-2009  0.34  0.00  1000 18.0009 2000.0156"

arr = Split(s, " ")

If IsDate(arr( 0 )) Then
    Debug.Print arr( 0 )
    Debug.Print arr( 7 )
End If
...
Рейтинг: 0 / 0
Задать шаблон в регулярном выражении???
    #35992197
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поправочка на лишний пробел:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim arr() As String
Dim s As String

s = "14-01-2009  0.34  0.00  1000 18.0009 2000.0156"
s = Replace(s, "  ", " ")

arr = Split(s, " ")

If IsDate(arr( 0 )) Then
    Debug.Print arr( 0 )
    Debug.Print arr( 4 )
End If
...
Рейтинг: 0 / 0
Задать шаблон в регулярном выражении???
    #35992335
DasTin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

Спасибо, мне больше подойдёт тогда:

Код: plaintext
.Pattern = "(\d\d\-\d\d\-\d{4}  ).+(\s+\d+\.\d{4}).+" 

Правда, нужо теперь проверить будет ли искать, если даты не будет во второй строке.
...
Рейтинг: 0 / 0
Задать шаблон в регулярном выражении???
    #35992343
DasTin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

Ок, я понял, попробую применить, правда структура данных немного сложнее у меня. Будем смотреть.
...
Рейтинг: 0 / 0
Задать шаблон в регулярном выражении???
    #35992409
Krasnaja Shapka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DasTin, можно Like использовать
Код: plaintext
if s Like "##-##-#### *" then
типа того
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Задать шаблон в регулярном выражении???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]