ЛОГИЧЕСКИЙ ТИП. ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ. ЛОГИЧЕСКИЙ ОПЕРАТОР ПРИСВАИВАНИЯ
Лекция № 11
Модификаторы к 1 шаблону.
Специальные символы.
Язык описания регулярных выражений — шаблонов.
Пример программы.
Print («hello world»);
function print (s);
{
wscript.echo(s);
}
В базовый синтаксис входят регулярные выражения.
Это возможность, используя шаблоны, разобрать текст.
Любой символ (кроме спец. символов) совпадает с собой.
Пример: Есть шаблон аааb
Есть строка — 25ааа4асаb51+3аbаааb
шаблон буден найден 1 раза.
. - специальный символ — совпадет с любым символом
а.ab — с такой шаблон в строке 25ааа4асаb51+3аbаааb
будет найден 2 раза.
. — совпадет с любым символом
\d — совпадает с любой цифрой
\D — совпадает с любой не цифрой
\w — совпадает с любой буквой или цифрой, включая символ «_»
\W — не совпадает со всем перечисленным в \w
\s — совпадает с любым пробельным символом
\S — совпадает с любым не пробельным символом
[abcd] — это одно знакоместо и значит, что на этом знакоместе может стоять 1 из перечисленных символов
[^abcd] — на этом знакоместе может стоять все, что угодно, кроме того, что здесь перечислено
[a-z] — любая маленькая латинская буква
[a-zA-Z] — любая латинская буква
[a-zA-Z0-9_] = \w
Два любых шаблона, разделенных |означает или то, или то. (a.ab | \d\d)
( ) - группировка // (ab|ba)c = abc или bac.
(пишутся в конце)
? - означает, что единица, к которой он относится, может присутствовать, может не присутствовать.
(ab?|ba)?c = c, abc, bac, ac
* - означает, что единица, к которой он относится, может отсутствовать или присутствовать любое число раз подряд
(ab*|ba)?c = c, abc, bac, ac, abbbb...c
([a-z]\d*)
+ - единица должна присутствовать один или более число раз
{n}
правильная дата: \d\d\.\d\d\.\d{4} = \d\d\.\d\d\.\d\d\d\d
{n, m} — единица может встречаться от n до m раз
{n, } — единица встречается не менее n раз
{ , m} — не более m раз
* = {0, }; + = {1, }; ? = {0, 1};
(?: ) - используется для сверки с шаблоном, но не для вырезания.
...(?=.....): - после первого шаблона должен идти второй, но в первый шаблон он не входит.
\х▬ ▬ - символ, который не печатается с клавиатуры, тогда пишем \х_ _ - 16-ый код символа
\х20 — пробел
// можно в десятичной системе \153
$ - совпадает с началом строки
^ - совпадает с концом строки
\b — не знакоместо — граница между словом и пробелом (\bA\b — одиночное А)
\B — отрицание \b (\BА\В — А окруженное любыми буквенными и не пробельными символами.)
Для хранения результатов логических выражений существует тип данных Boolean (булев).
Логический тип (boolean) имеет лишь два значения: true (1 – истинно) и false (0 – ложно).
Слова false и true – это логические константы языка.
В программах возможно вводить константы и переменные этого типа. Например:
const b = true;
var c : boolean;
Логическое выражение – это способ записи на языке программирования условий для поиска необходимых данных.
Простое логическое выражение –это два операнда, которые объединены операцией сравнения (операцией отношения).
Операции сравнения:
> (больше), < (меньше), = (равно), <> (не равно),
>= (больше или равно или не меньше ), <= (меньше или равно или не больше).
Например:
Пусть х = 3, y = –9.
Простые логические выражения:
х = 3 ® true (истинно); х < y ®;
х+1<y ® false (ложно).
Сложное логическое выражение – это логическое выражение, которое записано с помощью булевих операций.
Булевы операции:
not – логическое отрицание («логическое НЕ»),
and – логическое умножение («логическое И»),
or – логическое сложение («логическое ИЛИ»),
xor – сложение по модулю 2 («исключающее ИЛИ»).
Слова not, and, or и xor, что обозначают булевы операции, являются зарезервированными словами.
Таблица истинности
A | B | not A | A and В | A or B | A xor B | ||||||
НЕ | И | * | ИЛИ | + | исключающее ИЛИ | ||||||
true | true | false | true | true | false | ||||||
true | false | false | false | true | true | ||||||
false | true | true | false | true | true | ||||||
false | false | true | false | false | false |
Операция отрицания всегда дает противоположное исходному значению.
Операция И дает в результате истинное значение только в том случае, когда оба связанные ею операнда истинны.
Операция ИЛИ дает в результате истинное значение, если хотя бы один из операндов есть истинным, а исключительное ИЛИ дает в результате истинное значение , если только один из операндов является истинным.
Например:
Пусть х = 3, у = –9. Сложные логические выражения:
not (y<= –50) ® not false ® true
Двойное неравенство 1<х<5 записывают как сложное логическое выражение:
(1 < x) and (x <5), если x=3, то (1 < x) = true, (x <5)= true, true and true = true
Пусть есть сложное логическое выражение:
(x > 4) or (y >-15), если x=3, y= -9, то (x > 4) = false,
(y >-15)= true,
false or true = true