Проверка строк в RPG Genexus через RegEx - PullRequest
0 голосов
/ 14 марта 2019

У нас есть переменная "string" / Character (15), которая нам нужна для проверки правильности символов с 5 по 10.Это довольно просто при написании исходного кода и использовании регулярных выражений или при использовании Genexus для создания объектов Java, но мы используем Genexus и собираемся в RPG IV.

Я относительно новичок (менее года)к этой платформе, так что я не уверен, как это сделать.Мне сказали, что функциональность регулярных выражений в используемой нами версии Genexus не работает для RPG.Мое предложение вытащить подстроку и получить ее из val () приведет к ошибке, если не все числа остановят программу.Видимо, в нашей версии Genexus / RPGLE нет способа изящно обработать ошибку.

У кого-нибудь есть опыт работы с этим?Может кто-нибудь указать нам правильное направление, используя Genexus для RPG, чтобы решить эту проблему?

1 Ответ

1 голос
/ 14 марта 2019

Вы можете написать процедуру, которая выполняет проверку «вручную».

т.е:.

&str = '1234567890ABCDEF' // this would be the input string

&isValid = 1              // this would be the output
if len(&str) > 9
    for &index = 5 to 10
        &char = substr(&str, &index, 1)
        do case
            case &char = '0'
            case &char = '1'
            case &char = '2'
            case &char = '3'
            case &char = '4'
            case &char = '5'
            case &char = '6'
            case &char = '7'
            case &char = '8'
            case &char = '9'
            otherwise
                &isValid = 0
                exit
        endcase     
    endfor
else
    &isValid = 0        
endif
...