Дипломная работа: Автоматизация "личного кабинета" консультанта по недвижимости (на примере организации Росинформ)

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
68
самим этим символам, Вы должны сформировать escape-последовательность,
используя для этого символ обратной черты (\). Следующая таблица
демонстрирует такие специальные символы и то значение, которое они несут:
Специальн
ый символ
Комментарий
$
Соответствует позиции в конце входной строки. Если
свойство Multiline объекта RegExp имеет значение True, $ также
соответствует позиции, предшествующей '\n' или '\r'. Для того
чтобы задать соответствие самому символу $, нужно
использовать \$.
( )
Помечает начало и конец подвыражения. Такие под(или
суб-)выражения могут быть сохранены для дальнейшего их
использования. Для соответствия непосредственно самим этим
символам, используйте \( и \).
*
Соответствует повторению предшествующего
подвыражения 0 или более раз. Чтобы задать соответствие
самому символу *, используйте \*.
+
Соответствует повторению предшествующего
подвыражения 1 или более раз. Чтобы соответствовать самому
символу +, используйте \+.
.
Соответствует любому одиночному символу, за
исключением символа новой строки \n. Для соответствия .
используйте \.
[
Помечает начало символьного диапазона, размещенного в
квадратных скобках. Для соответствия [ используйте \[.
?
Соответствует повторению предшествующего
подвыражения 0 или 1 раз или является индикатором
"нежадности" выражения. Для соответствия символу ?
используйте \?.
69
\
Помечает следующий за ним символ или как
специальный, как букву(литерал), как обратную ссылку или как
восьмеричную escape-последовательность. Например, 'n'
соответствует символу 'n', а '\n' соответствует символу новой
строки. Последовательность '\\' соответствует "\", '\('
соответствует "(".
^
Соответствует позиции в начале входной строки, за
исключением случаев использования данного символа в
выражениях, помещенных в квадратные скобки, где он тогда
отрицает стоящий за ним набор символов. Для указания
соответствия самому символу ^ используйте \^.
{
Помечает начало выражения-квантификатора. Для
соответствия самому символу { используйте \{.
|
Указывает на выбор между двумя элементами. Чтобы
соответствовать самому символу | используйте \|.
Существует несколько полезных непечатных символов, которые при
случае следует использовать. Следующая таблица показывает escape-
последовательности, используемые для представления таких непечатных
символов:
Символ
Значение
\cx
Соответствует управляющему коду, указанному в x.
Например, \cM соответствует коду Control-M или символу
возврата каретки. Значение x должно находится в диапазоне A-
Z или a-z. Если это условие не выполняется, тогда c будет
считаться обычным символом 'c'.
\f
Соответствует символу подачи бланка. Эквивалентно \x0c
и \cL.
\n
Соответствует символу перевода строки. Эквивалентно
\x0a и \cJ.
70
\r
Соответствует символу возврата каретки. Эквивалентно
\x0d и \cM.
\s
Соответствует любому пробельному символу, включая
пробел, табулятор, символ подачи бланка, и т.д. Эквивалентно
[\f\n\r\t\v].
\S
Соответствует любому непробельному символу.
Эквивалентно [^ \f\n\r\t\v].
\t
Соответствует символу табуляции. Эквивалентно \x09 и
\cI.
\v
Соответствует символу вертикальной табуляции.
Эквивалентно \x0b и \cK.
Точка (.) соответствует в строке любому одиночному печатному или
непечатному символу, за исключением символа новой строки (\n). Следующее
регулярное выражение для JScript соответствует 'aac', 'abc', 'acc', 'adc' и т.п. так
же как и 'a1c', 'a2c', 'a-c' и 'a#c':
"a.c"
Если же Вы пытаетесь задать соответствие строке, содержащей имя
файла, где точка (.) является частью входной строки, Вы делаете это предварив
точку в регулярном выражении символом обратной черты (\). Иллюстрирует
это следующее регулярное выражение:
"filename\.ext"
Эти выражения все еще являются довольно ограниченными. Они
допускают соответствие только любому одиночному символу. Часто более
востребованным будет соответствие определенным символам из списка.
Например, если у Вас есть входной текст, который содержит заголовки глав,
которые выражены в цифровой форме как Chapter 1, Chapter 2 и т.д, Вы могли
бы захотеть найти эти заголовки.
Выражения в скобках
Мы можем создать список символов соответствия, заключив один и
более символов в квадратные скобки ([ и ]). Когда символы заключаются в
скобки, то такой список называется bracket expression. В пределах скобок, как и
71
везде, обычные символы представляют самих себя, то есть они соответствуют
нахождению себя же во входном тексте. Большинство специальных символов
теряют свое значение, когда они встречаются внутри выражений в скобках. Вот
некоторые исключения:
Символ ']' завершает список, если только он не является первым
элементом списка. Чтобы в списке задать соответствие самому символу ']',
разместите его первым , непосредственно за открывающей скобкой '['.
Символ '\' продолжает быть символом escape-последовательности.
Чтобы задать соответствие самому символу '\' , используйте '\\'.
Список символов, заключенных в квадратные скобки , соответствует
только одному символу в том месте регулярного выражения, где находятся эти
квадратные скобки. Следующее регулярное выражение соответствует 'Chapter
1', 'Chapter 2', 'Chapter 3', 'Chapter 4' и 'Chapter 5':
:
"Chapter [12345]"
Слово 'Chapter' и пробел, следующий за ним, находятся в
фиксированной позиции относительно символов, заключенных в скобки. То
есть данное выражение в скобках используется только для задания набора
символов, соответствующих одиночному символу в позиции непосредственно
следующей за пробелом после слова 'Chapter'. Это позиция девятого символа.
Если же мы хотите выразить символы соответствия, используя диапазон
символов вместо непосредственно самих символов, в этом случае мы можем
отделить начальный и конечный символы, используя символ дефиса (-) .
Значения индивидуальных символов в диапазоне определяется их
относительным порядком внутри диапазона. Следующее регулярное выражение
содержит диапазон, который является полным эквивалентом списка в скобках,
показанного выше: "Chapter [1-5]"
Когда диапазон определяется таким манером, и начальное и конечное
значения включаются в диапазон. Важно отметить, что начальное значение
должно стоять впереди конечного (имеется ввиду порядок сортировки Unicode).
72
Если мы хотим включить символ дефиса в выражение в скобках, тогда
Вам потребуется поступить одним из следующих способов:
1. Предварим его символом обратной черты (escape-символом): [\-]
2. Поместим символ в начало или конец выражения в скобках.
Следующие выражения соответствуют всем латинским буквам в нижнем
регистре и дефису: [-a-z] [a-z-]
3. Создаем диапазон в котором значение начального символа будет
меньше значения символа дефиса и конечный символ равен или больше, чем
значение дефиса. Оба следующих выражения удовлетворяют этому условию:
[!--] [!-~]
Мы также можем найти все символы не находящиеся в списке или не
входящие в диапазон, поместив в начало списка символ каретки (^) . Если же
символ каретки будет находиться в любой другой позиции внутри списка, тогда
он будет соответствовать сам себе, то есть не будет иметь специального
значения. Следующее регулярное выражение соответствует заголовкам,
имеющим номера более чем 5: "Chapter [^12345]"
В примерах, показанных выше, выражение соответствует любой цифре в
девятой позиции, за исключением 1, 2, 3, 4 или 5. Например, соответствует
'Chapter 7' , так же как и 'Chapter 9'.
Эти выражения выше также могут быть представлены с использованием
символа дефиса (-). "Chapter [^1-5]"
Типичным использованием выражений в квадратных скобках является
задание соответствия любым символам латинского алфавита в любом регистре
или любым цифрам. Следующее регулярное выражение определяет именно
такое соответствие: "[A-Za-z0-9]"
Иногда заранее неизвестно, сколько именно символов должны
соответствовать. Чтобы приспособиться к такому виду неопределенности,
регулярные выражения поддерживают концепцию квантификаторов.
Квантификаторы позволяют Вам определять сколько раз данный компонент
Источник: https://baza.diplomsite.ru/previewfile/2504