Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Логический тип. Логические выражения. Логический оператор присваивания. Модификаторы к 1 шаблону

Лекция № 11

Модификаторы к 1 шаблону.

Специальные символы.

Язык описания регулярных выражений — шаблонов.

Пример программы.

 

Print («hello world»);

function print (s);

{

wscript.echo(s);

}

В базовый синтаксис входят регулярные выражения.

Это возможность, используя шаблоны, разобрать текст.

 

Любой символ (кроме спец. символов) совпадает с собой.

 

Пример: Есть шаблон аааb

Есть строка — 25ааа4асаb51+3аb аааb

шаблон буден найден 1 раза.

 

. - специальный символ — совпадет с любым символом

а.ab — с такой шаблон в строке 25ааа4 асаb 51+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

<== предыдущая лекция | следующая лекция ==>
Лекция № 10. Функция создает файл и возвращает дескриптор открытого файла | Приоритеты операций сравнения и булевих операций
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 341; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.021 сек.