Inhaltsverzeichnis   MOBOTIX Online-Hilfe

Стандартные выражения

На этой странице приводится краткое введение по стандартным выражениям, и оно не претендует на полноценность информации. В книге Стандартные выражения Джеффри Э.Ф. Фридла, вышедшей в издательстве O'REILLY, можно найти подробное введение по этой теме.

Стандартные выражения - это образцы поиска, с помощью которых можно проверить последовательность знаков. Так, например, с помощью стандартного выражения можно проверить текст сетевого сообщения или данные последовательного интерфейса. Стандартное выражение состоит из одного или нескольких знаков, которые необходимо найти, и дополняется специальными знаками, выполняющими определенные функции.

Пример:

Устройство отправляет данные через последовательный интерфейс:

[...]
2003-09-22 12:24:50 roboctrl ready
2003-09-22 12:24:51 roboctrl starting process
2003-09-22 12:25:25 roboctrl finished in 34sec
2003-09-22 12:25:30 roboctrl ready
2003-09-22 12:25:31 roboctrl starting process
2003-09-22 12:25:33 error: no material found
2003-09-22 12:25:33 roboctrl stop on error

С помощью стандартного выражения stop.*error (Стоп - ошибка) инициируется событие, если устройство, как здесь, в последней строке, сообщит об ошибке.


Специальные знаки

Если Вы хотите найти один из знаков, приведенных в левом столбце нижеследующей таблицы, а также перевернутый косой штрих "\" и дефис "-", поставьте перед ними перевернутый косой штрих "\" (маскировка).

Знак Функция
^ Циркумфлекс обозначает начало последовательности знаков. Выражение ^Test касается того случая, когда проверяемая последовательность знаков начинается со слова Test (Тест).
$ Знак доллара обозначает конец последовательности знаков. Выражение Test$ касается того случая, когда проверяемая последовательность знаков заканчивается словом Test (Тест).
.

Точка является меткой-заполнителем для любого знака. Выражение ab.d касается abcd или abad, но не abccd.

Если Вы самостоятельно ищите знак ., его необходимо замаскировать с помощью знака "\". Тогда выражение ab\.d будет касаться ab.d.

* Астериск (звездочка) является оператором повтора и означает, что стоящий впереди знак может не встречаться или может встречаться любое количество раз. Выражение ab*c позволяет найти abc, abbbbbc, а также ac.
+ Знак плюс также является оператором повтора и означает, что стоящий впереди знак может встречаться по меньшей мере один раз или любое количество раз. Выражение ab+c позволяет найти abc, abbbbbc, но не ac.
? Знак вопроса означает, что стоящий впереди знак не может встречаться ни разу или только один раз. Выражение ab?c позволяет найти abc и ac, но не abbc.
[ ]

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

Класс знаков может быть определен в виде списка или области. Выражение [abc] определяет список знаков, а [a-m] - область знаков.

[0-9] позволяет найти, например, все цифры, [a-z] - все строчные буквы. Можно использовать несколько областей внутри класса знаков, как, например, в [0-9a-zA-Z], или смешивать списки и области: [afm0-6].

Класс знаков может быть обозначен также с отрицанием, если перед ним поставить циркумфлекс. Выражение [^ab] касается того случая, когда знак не является знаком a или b.

cn, de, en, es, fr, it, jp, ru

© 2001-2024 MOBOTIX AG, Germany · http://www.mobotix.com/