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

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


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

Раздел: Программирование


Регулярное выражение – это способ задавать шаблоны для строк. В Axapta существует собственный движок регулярных выражений. Их использую следующие конпоненты:

  • поиск по 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 (внешнее изменение)