Текущее время: Вс, июн 22 2025, 11:23

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: FIND + SUBMATCHES: кривая работа или руки
СообщениеДобавлено: Ср, ноя 18 2015, 18:01 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 26 2006, 15:07
Сообщения: 227
Всем привет!
Имеем код
Code:
DATA: text TYPE string,
moff TYPE i,
mlen TYPE i,
s1 TYPE string,
s2 TYPE string.

START-OF-SELECTION.


text = `Hey hey, my my, Rock and roll can never die`.

FIND REGEX `(\w+)\W+\1\W+(\w+)\W+\2`
IN text
IGNORING CASE
MATCH OFFSET moff
MATCH LENGTH mlen
SUBMATCHES s1 s2.


это код из абабдоку.
Здесь всё работает как надо находится офсет, длина и в SUBMATCHES закидываются слова, которые соответствуют критерию.
Далее меняем текст и критерий

Code:
text = ` blablabla 0000003008 blablabla`.

FIND REGEX `[0123456789]{10}`
IN text
IGNORING CASE
MATCH OFFSET moff
MATCH LENGTH mlen
SUBMATCHES s1 s2.


В результате находится офсет и длина, а вот текст в SUBMATCHES нет, а должен в s1 записаться 0000003008 .
Может кто знает причину и как решать?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FIND + SUBMATCHES: кривая работа или руки  Тема решена
СообщениеДобавлено: Ср, ноя 18 2015, 23:48 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 17 2006, 11:03
Сообщения: 123
imho, submatches это группы, поэтому [0123456789]{10} надо в скобки взять как в стандартном примере


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FIND + SUBMATCHES: кривая работа или руки
СообщениеДобавлено: Чт, ноя 19 2015, 04:48 
Специалист
Специалист

Зарегистрирован:
Чт, мар 25 2010, 09:02
Сообщения: 207
Да, нужно взять в скобки,еще можно чуть подсократить:
Code:
`([0-9]{10})`


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: FIND + SUBMATCHES: кривая работа или руки
СообщениеДобавлено: Чт, ноя 19 2015, 09:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
день любителей регулярок можно считать открытым
а может еще меньше?
Code:
`(\d{10})`

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FIND + SUBMATCHES: кривая работа или руки
СообщениеДобавлено: Чт, ноя 19 2015, 10:37 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 26 2006, 15:07
Сообщения: 227
author написал(а):
imho, submatches это группы, поэтому [0123456789]{10} надо в скобки взять как в стандартном примере

Спасибо, скобки помогли!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB