Инструменты пользователя

Инструменты сайта


axapta:регулярноевыражение

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

axapta:регулярноевыражение [2018/04/13 22:43] (текущий)
Строка 1: Строка 1:
 +Раздел:​ [[Программирование | ]]
 +----
 +Регулярное выражение -- это способ задавать шаблоны для строк. В Axapta существует собственный движок регулярных выражений. Их использую следующие конпоненты:​
 +  *[[функция/​match | ]]
 +  *[[класс/​TextBuffer | ]]
 +  *поиск по [[AOT | ]] -- там их даже нельзя выключить
 +  *поиск в коде (включается галкой)
  
 +{{toc}}
 +=== Примеры ===
 +
 +Поиск присваивания переменной в классе:​
 +[[http://​erpkb.com/​Axapta/​ReguljarnoeVyrazhenie/​files?​get=regexp_aotfind.png | ]]
 +
 +Расшифровка выражения "​oldVoucher:​ *=": "​найти строки,​ в которых есть подстрока oldVoucher далее следует ​
 +ноль или несколько пробелов далее символ ="
 +
 +где ": " - это пробел
 +а "​*"​ - ноль или более повтроений символа
 +
 +=== Описание ===
 +Система не различает регистры символов. ​
 +
 +В регулярном выражении можно использовать следующие спецсимволы
 + #|
 + ​|| ​ Символ | Описание ||
 +||  \  | Обратная черта используется,​ если вы хотите найти спецсимвол. Например "​\<"​ означает знак "​меньше"​ а не начало строки||
 +||   ~< или ^  | Знаки '​меньше'​ (<) или '​крышка'​ (^) обозначают начало строки. ||
 +||   ~> или & | знаки '​больше (>) sign или амперсенд (&) означают конец строки ||
 +||   ? или . | Вопросительный знак (?) или точка (.) означают любой символ (кроме Enter, и перевода строки). ||
 +||  :<​буква>​ | Двоеточие с последующей буквой означает некоторыйкласс символов:​ ||
 +||  :a | буква ||
 +||  :d | цифра ​ ||
 +||  :n | буква или цифра ||
 +||  :<​пробел>​ | пробелы,​ символы табуляции,​ контрольные символы вроде перевода строки||
 +||   * |  ноль или несколько повторений предшествующего символа,​ например, ​ "​fo*d"​ соответствует "​fd"​ "​fod"​ "​foooood"​ но не "​fzd"​||
 +||   ​+ ​ | 1 или несколько повторений предшествующего символа,​ например, ​ "​fo+d"​ соответствует "​fod"​ "​foooood"​ но не "​fzd"​ или "​fd"​ ||
 +||   ​- ​ | 0 или 1 повторений предшествующего символа,​ например, ​ "​fo-d"​ соответствует "​fd",​ "​fod"​||
 +||   ​[] ​ | Один из перечисленных символов. Можно задавать диапазоны. Например, ​ [12] - это 1 или 2; [0-9] - это ​ цифра ||
 +||   ​[^] ​ | ни один из перечисленных символов [^0-9] -- всё, кроме цифр ||
 +|#
 +        
 +
 +=== Другие регулярные выражения ==
 +
 +Регулярные выражения в Axapta довольно ограничены по функциональности. К счастью можно использовать внешние регулярные выражения.
 +
 +В [[Ax30 | ]] можно использовать регулярные выражения VB через COM  (см. RegExearch)
 +
 +В [[Ax40 | ]] используются регулярные выражения .NET (см. Classes\SysEmailDistributor\validateEmail )
axapta/регулярноевыражение.txt · Последние изменения: 2018/04/13 22:43 (внешнее изменение)