Режим «Поиск/Замена» активизируется в раскрывающемся меню выбора команд (рис. 9.2). Пользователю предоставляется набор операций, представленных на рис. 9.31. Рассмотрим подробно каждую операцию данного режима.
Рис. 9.31
Найти
В данном режиме предоставляется возможность осуществить поиск любого элемента чертежа или его параметра. Для этого необходимо воспользоваться окном, представленным на рис. 9.32.
Рис. 9.32
Справа в окне располагаются фильтры, позволяющие сузить поиск до отдельных свойств элементов, например: имени, марки, номинала и т.д. В левой части окна производится настройка на область поиска (вся схема или только ее выделенная часть) и точность поиска (полное обозначение или контекстный ключ).
В данном режиме предоставляется возможность более сложного поиска с использованием масок и регулярных выражений (рис. 9.33)
Рис. 9.33
Описание использования масок представлено в таблице 9.1.
Таблица 9.1
Ключевой
символ
| Описание
|
?
| Символ «?» используется для поиска любого символа в данной позиции строки поиска ( поиск строки “?аш?” найдёт слова “Маша” и “кашу” в строке «Маша ела кашу»).
|
*
| Символ - “*” используется для поиска любого (включая 0) количества любых символов. Условие “*” означает найти любое количество любых символов в данной позиции строки поиска (поиск строки “Ма*” найдёт слова “М”, “Ма”, “Маа” в строке «Му, Ма, Маа»; поиск строки “ к.*у ” найдёт слово “кашу” в строке «Маша ела кашу).
|
#
| Символ ‘#’ используется для поиска любой цифры в данной позиции (поиск строки “НАП#” найдёт слова “НАП1”, “НАП2” и т.д., если они есть в тексте).
|
^
| Символ ‘^’ поставленной в начале строки поиска ищет подстроку только с первого символа (поиск строки “^Маша” найдёт слово “Маша” в строке «Маша ела кашу», но не найдёт в строке «Ела Маша кашу»).
|
$
| Символ ‘$’ поставленный в конце строки поиска ищет подстроку только в конце строки (поиск строки “кашу$” найдёт слово “кашу” в строке «Маша ела кашу», но не найдёт в строке «Маша кашу ела»).
|
[ ]
| Любой знак из указанных символов. В квадратных скобках можно включить список символов, один из которых может находится в данной позиции ( поиск строки “[Мк]аш” найдёт слова “Маш” и “каш” в строке «Маша ела кашу»).
|
[^]
| Если список символов в квадратных скобках предварён знаком ‘^’, то в этой позиции ищутся любые символы, за исключением символов из списка (поиск строки “[к, М]аш” найдёт слова “Маш” и “каш” в строке «Маша ела кашу»).
|
\
| Символ ‘\’ поставленный перед ключевым символом позволяет представить ключевой символ как обычный и найти его в тексте (поиск строки “\[ела\] ” найдёт слово “[ела]” в строке «Маша [ела] кашу»).
|
Так же поддерживаются ключевые символы {}, (), |, и некоторые др., описанные ниже в разделе Работа с регулярными выражениями.
Описание использования регулярных выражений представлено в ГРАС поддерживает работу с Perl-совместимыми регулярными выражениями (PCRE), позволяющие продвинутые возможности для поиска и замены.
Для работы с регулярными выражениями используются следующие ключевые символы изображенные в таблица 9.2.
Таблица 9.2
Ключевой
символ
| Описание
|
^
| Символ ‘^’ поставленной в начале строки поиска ищет подстроку только с первого символа ( поиск строки “^Маша” найдёт слово “Маша” в строке «Маша ела кашу», но не найдёт в строке «Ела Маша кашу»).
|
$
| Символ $ поставленный в конце строки поиска ищет подстроку только в конце строки (поиск строки “кашу$” найдёт слово “кашу” в строке «Маша ела кашу», но не найдёт в строке «Маша кашу ела»).
|
.
| Символ ‘точка’ используется для поиска любого символа в данной позиции ( поиск строки “.аш.” найдёт слова “Маша” и “кашу” строке «Маша ела кашу»).
|
*
| Символ “*” используется для поиска любого (включая 0) количества повторяющихся символов или подвыражения перед звёздочкой. Условие “.*” означает найти любое количество любых символов в данной позиции (поиск строки “Ма*” найдёт слова “М”, “Ма”, “Маа” в строке «Му, Ма, Маа»; поиск строки “ к.*у ” найдёт слово “кашу” в строке «Маша ела кашу).
|
+
| Символ “+” используется для поиска одного и более повторяющихся символов или подвыражений перед плюсом. Условие “+” означает найти один или более любых символов в данной позиции ( поиск строки “Ма+” найдёт слова “Ма”, “Маа” в строках «Му, Ма, Маа»; поиск строки “ к.+у ” найдёт слово “кашу” в строке «Маша ела кашу).
|
?
| Символ “?” используется для поиска 0 или 1 символов или подвыражений перед плюсом. Условие “?” означает найти один или ни одного любых символов в данной позиции (поиск строки “Маша?” найдёт слова “Маша”, “Маш” в строках «Маша, Машу»).
|
{}
| В фигурных скобках можно:
1 Указать количество повторов символа или подвыражения.
{m,n} От m до n раз повторенный предыдущий символ или выражение.
{m,} Если n опущено, то ищется не менее m повторов
{m} Если ,n опущено, то ищется ровно m повторов.
Логически символы и выражения ниже эквивалентны
* эквивалент {0,} + эквивалент {1,} ? эквивалент {0,1}
2 Выделить в группу выражение, которое будет скопировано в строку замены (cм. тему «Расширенные возможности замены»).
|
[ ]
| Любой знак из указанных символов. В квадратных скобках можно включить список символов, один из которых может находится в данной позиции ( поиск строки “[Мк]аш” найдёт слова “Маш” и “каш” в строке «Маша ела кашу»).
|
[-]
| Любой знак из указанного диапазона символов (поиск строки “[Мк]аш[а-я]” найдёт слова “Маша” и “кашу” в строке «Маша ела кашу»).
|
[^]
| Если список символов в квадратных скобках предварён знаком ‘^’, то в этой позиции ищутся любые символы, за исключением символов из списка (поиск строки “[к, М]аш” найдёт слова “Маш” и “каш” в строке «Маша ела кашу»).
|
()
| Позволяют группировать символы в подвыражения внутри строки для поиска (маша|(каша)»
|
|
| Символ ‘|’ позволяет объединять подвыражение логическим ИЛИ (поиск строки (Маша)|(кашу) ” в строке «Маша ела кашу» надйдёт слова “Маша” и “ кашу»).
|
\
| Символ ‘\’ поставленный перед ключевым символом позволяет представить ключевой символ как обычный и найти его в тексте (поиск строки “\[ела\] ” найдёт слово “[ела]” в строке «Маша [ела] кашу»).
|
\d
| Метка ‘\d’ ищет цифру в заданной позиции. Эквивалентна [0-9]
|
\D
| Метка ‘\D’ ищет любой символ кроме цифры в заданной позиции. Эквивалентна [^0-9]
|
\s
| Метка ‘\s’ ищет любой пробельный символ
|
\S
| Метка ‘\s’ ищет любой не пробельный символ
|
Редактор допускает работу с расширенными возможностями замены.
Расширенные возможности замены доступны как в режиме масок, так и в режиме регулярных выражений PCRE. В режиме замены добавлена возможность вставки подвыражений из искомой строки в заменяемую. Это позволяет склеивать подстроки с текстом замены и менять подстроки местами.
Для того, чтобы задействовать эти возможности, необходимо:
1.Строку для поиска нужно разбить на подвыражения при помощи фигурных скобок.
Например, нужно найти все повторители НАП1-НАП5: Найти“{НАП}{[1-5]}”.
2. В строке замены указать в месте, куда нужно вставить подвыражения порядковый, начиная с 1, номер этого подвыражения в фигурных скобках.
Например, нужно все найденные повторители НАП заменить на 1СП: Заменить “1СП{2}”.
3. В результате поиска из всех найденных на схеме НАП1- НАП5 будут взяты номера повторителей и приклеены к строке 1СП.
Подвыражения в режиме замены, разбитые скобками {}, не допускают вложенности, поэтому внутри подвыражений можно применять фигурные скобки для указания количества повторов.
Заменить
В данном режиме предоставляется возможность осуществить поиск и замену любого элемента чертежа или его параметра. Для этого необходимо воспользоваться окном, представленным на рис. 9.34.
Рис. 9.34
Процедура поиска описана в предыдущем разделе. При замене найденного элемента рекомендуется пользоваться режимом «Запрос перед заменой», что позволит контролировать правильность выполнения данной команды.
Продолжить поиск
В данном режиме предоставляется возможность продолжить поиск элемента чертежа или его параметра, начатый в режимах «Поиск» или «Замена».