ГОСТ Р HCO/HL7 27951— 2016
каждый символ, кролю [ ] л$ . / : ( ) \ | ? ’ + {}. совпадает сам с собой. Другие символы, фактически используемые в
настоящей спецификации, приведены в таблице В.2.
Таблица
В.2 — Специальные символы для регулярных выражений
Шаблон
Определение
I - ]
Описывает класс символов. Например. /[A-Za-z]/ совпадает с прописными и строчными буквами
английского алфавита
lA-1
Задает исключение из класса символов. Например. /[АВСО]/ совпадает с любым символом, кроме
В.СиЭ
...?
Предшествующий шаблон не обязателен. Например. /аЬ?с/ совпадает и с «ас», и с «аЬс»
•
Предшествующий шаблон может повторяться от нуля до любого числа раз. Например. /аЬ*с/ со
впадает с «ас». «аЬс». «abbc», «аЬЬЬс» и т. д.
...+
Предшествующий шаблон может повторяться от одного до любого числа раз. Например, /аЬ+с/
совпадает с «аЬс», «аЬЬс», «аЬЬЬс». но не с «ас»
... {n.m>
Предшествующий шаблон может повторяться от л до m раз. где л и т порядковые числа, удов
летворяющие условию 0 < п < т . Например. /аЬ{2,4}с/ совладает с «аЬЬс». «аЬЬЬс» и «аЬЬЬЬс»
...|...
Совпадение может быть с любым из шаблонов, разделенных вертикальной чертой. Например,
/abjcd/ совпадает с «abd» и»асб». но не с «abed»
(...)
Шаблон в скобках используется в описанных выше операторах как единое целое. Например.
/а(Ьс)*/ совпадает с «а». «аЬс». «аЬсЬс». «аЬсЬсЬс» и т. д.
Совпадение с левым шаблоном будет в том случав, если за ним следует правый шаблон, но при
этом правый шаблон не участвует в проверке совпадения. Например, /аЬ:с/ совпадает с «аЬс». но не
с «аЬ». однако значением совпадающего символа будет «аЬ», а «с» остается для следующего
символа. Двоеточие представляет собой небольшую модификацию традиционной косой черты, но
косая черта также традиционно используется для завершения всего шаблона и может также встре
титься как совпадающий символ — три разных значения одного символа были бы уже слишком
...\...
Буквальное совпадение со следующим символом, то есть устраняет любое специальное значе
ние этого символа. Например. /а\+Ь/ совпадает с «а+Ь»
... V ...
Совпадение с косой чертой как с символом. Например. /aVbc1 совпадает с «а/Ьс»
В.1.9.5 Параметризованные типы данных
Параметризованные типы данных имеют неполные определения. Эта неполнота обозначается наличием
одного или нескольких параметров в определении типа. Обычно в качестве параметров выступают другие типы
данных. С помощью параметров параметризованный тип может обьявить семантические свойства других не пол
ностью определенных типов данных. Например, параметризованный тип данных Interval объявлен с параметром Т,
значение которого может быть любым типом данных физической величины QTV. Его компоненты low и high объ явлены
как имеющие тип данных Г:
tftinpJ<it.ft<-QTY т>
type Int.erval<T> alias 1VL<T> {
T low;
T high;
l ;
Создание экземпляра параметризованного типа данных завершает его определение. Например, для соз
дания экземпляра интервального типа данных (Interval) необходимо указать базовый тип данных интервала. Это
делается с помощью связывания параметра Т. Чтобы создать экземпляр интервала целых чисел, надо связать
параметр 7 с типом данных Integer. После этого неполный тип данных Interval становится полным типом данных
Interval of Integer (интервал целых чисел).
Например, в следующем определении типа данных МуТуре объявляется свойство с именем «multiplicity»*
(кратность), имеющее тип данных интервала порядкового типа данных, использованного в предыдущих примерах.
type МуТуре alias МТ
{
IVL<CARD> multlplicily;
};
297