Текущее время: Сб, июн 21 2025, 13:24

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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