ify"> Конструкції зворотних посилань
Зворотній посилання дозволяє згодом ідентифікувати раніше знайдену відповідну частину виразу в тому ж регулярному виразі. Підтримувані регулярними виразами платформи .NET Framework (таблиця 2.6).
Таблиця 2.6 - Конструкції зворотних посилань
Конструкція зворотних ссилокОпісаніеШаблонСоответствія numberОбратная посилання. Відповідає значенню нумерованій частині виразу. ( W) 1 ee в seek k lt; name gt; Іменована зворотнє посилання. Відповідає значенню іменованого вираження. (? Lt; char gt; w) k lt; char gt; ee в seek
Конструкції зміни
Конструкції зміни модифікують регулярний вираз, включаючи порівняння за принципом або-або raquo ;. Такі конструкції складаються з мовних елементів, наведених у таблиці 2.7.
Таблиця 2.7 - Конструкції зміни
Конструкція ізмененіяОпісаніеШаблонСоответствія | Відповідає будь-якого елементу, розділеному вертикальної рисою (|) .th (e | is | at) the raquo ;, this в this is the day. (? (вираз) так | немає) Зіставляється з частиною так, якщо вираз відповідає; в іншому випадку зіставляється з необов'язковою частиною немає. вираз інтерпретується як твердження нульовий ширини. (? (A) A d {2} b | b d {3} b) A10 raquo ;, 910 в A10 C103 910 (? (ім'я) так | немає) Зіставляється з частиною так, якщо назване ім'я захоплення має відповідність; в іншому випадку зіставляється з необов'язковою частиною немає. (? lt; quoted gt; )? (? (quoted). +? | S + s) Dogs.jpg, Yiska playing.jpg в Dogs.jpg Yiska playing.jpg
Підстановки
Підстановки - це мовні елементи регулярних виразів, які підтримуються в шаблонах заміни (таблиця 2.8).
Таблиця 2.8 - Підстановки
ЗнакОпісаніеШаблонШаблон замениВходная строкаРезультірующая рядок $ numberЗамещает частина рядка, відповідну группеномер. b ( w +) ( s) ( w +) b $ 3 $ 2 $ 1 одна дві дві одна $ {name} Заміщає частина рядка, відповідну іменованої групі ім'я. b (? lt; word1 gt; w +) ( s) (? lt; word2 gt; w +) b $ {word2} $ {word1} одна дві raquo ; дві одна $$ Підставляє літерал $ . b ( d +) s? USD $$$ 1 103 USD $ 103 $ amp; Заміщає копією повного соответствия.($*(d*(.+d+)?){1})**$amp;laquo;$1.30raquo;laquo;**$1.30**raquo;$`Замещает весь текст вхідного рядка до соответствія.B + $ ` AABBCC AAAACC $ Заміщає весь текст вхідного рядка після соответствія.B + $ AABBCC AACCCC $ + Заміщає останню захоплену группу.B + ( C +) $ + AABBCCDD AACCDD $ _Замещает всю вхідну строку.B + $ _ AABBCC AAAABBCCCC
Для прикладу роботи візьмемо рядок виду E-mail: foo@sdoraquo; і витягнемо з неї ім'я користувача (foo) і ім'я поштового домену (bar). Наступний код робить це:
private void button2_Click (object sender, EventArgs e)
{
//Регулярне вираженіеexpr= E-mail: (? lt; account gt; [ w .] +) @ (? lt; domen gt; [ w .] +) raquo ;;
//Вихідна строкаstr= lkasdlkjasd E-mail: foo@sdo - - 1089237asd-- E-mail: bar@sdoraquo ;;
//Текст кінцевого сообщеніяtext= raquo ;;
//застосувати регулярний вираз до вихідної строкеpattern=new Regex (expr, .Compiled | RegexOptions.Singleline);
//Вибираємо всі збіги (Match m in pattern.Matches (str))
{(m.Success)
{(text.Length gt; 0) += n raquo ;; += Account name: + M.Groups [ account ]. Value + laquo ;, mail domen: + M.Groups [ domen ]. Value;
}
}
//Показуємо результат.Show (text);
}
Результатом виконання даного коду буде перетворення текстової інформації в файли настроки БД (Малюнок 2.17)
Малюнок 2.17 - Файли перетворення
Таким чином, застосувавши механізм пошуку збігів за шаблоном в Word-документах, можна витягувати і структурувати будь-яку інформацію, яка збігається з шаблоном.
2.4 Розробка підсистеми обліку програмних продуктів клієнтів
. 4.1 Обгрунтування вибору середовища розробки і її характеристика
Причиною вибору платформи 1С: Підприємство 8 в якості середовища розробки була:
- наявність у підприємства ТОВ ??laquo; Комп'ютерний аудит прикладного рішення 1С: Управління виробничим підприємством, редакція 1.2 на основі 1С: Підприємство;
- можливість розширення прикладного рішення шляхом...