У меня есть строка параметра REXX в этом формате:
arg = 'update summary(A summary of something) description(The description)'
, и я анализирую режим, сводку и описание следующим образом:
parse upper var arg mode . ,
1, 'SUMMARY('summary')' .,
1, 'DESCRIPTION('description')' .
Я конвертирую аргументв верхний регистр, так что ключевые слова SUMMARY и DESCRIPTION эффективно не чувствительны к регистру (пользователь может кодировать Summary или SUmmAry или sUmMaRy и т. д.), но теперь я только что перевел мое реальное резюме и описание в верхний регистр.
Как я могу сделать синтаксический анализ без учета регистра для ключевых слов, но сохранить правильный регистр для фактических параметров?
Я думал о том, чтобы извлечь позиции символов из ключевых слов и использовать их в выражении PARSE вместо '1' и т. Д., Но по возможности хочу простой и лаконичный процесс.