Java: регулярні вирази, спеціальні символи
Сьогодні програмування на Java, швидше за все, ні у кого не викличе здивування. Прогрес у цій сфері настільки великий, що сучасна нам звична реальність здалася б 50-60 років тому справжнім сюжетом з фільму а-ля "Назад у майбутнє".
Витоки мови Java
Java - об`єктно-орієнтована мова програмування, який спочатку був розроблений компанією Sun Microsystems, а пізніше його підтримка і розвиток стали здійснюватися компанією Oracle.
Не варто плутати мову розробки із середовищем виконання або програмною платформою. Під останньою слід розуміти сукупність безлічі різних компонентів, які разом забезпечують виконання Java-коду в різних апаратних середовищах. Програми, написані на мові Java, транслюються в особливий формат, званий байт-кодом, який пізніше виконується засобами віртуальної машини (JVM) - частиною програмної платформи.
Установка і початок роботи
Для того щоб успішно запускати розроблені на цій мові додатки, необхідно встановити спеціальний пакет Java-компонентів, який доступний на офіційному сайті Oracle. Компанія надає різні дистрибутиви, які відрізняються цільової платформою, а також різні їх варіанти. Рядовим користувачем не обов`язково повинна використовуватися версія Java, відмінна від останньої, самої нової. Це має сенс тільки для розробників, яким необхідні специфічні для певних стратегій функції і можливості.
Щоб встановити Java на свій комп`ютер, користувач спочатку повинен упевнитися, що характеристики апаратури відповідають мінімальним системним вимогам. Інженери Oracle добре потрудилися, щоб знизити поріг системних вимог, однак він як і раніше є, і з ним потрібно рахуватися. Користувач повинен знайти на сайті необхідний йому дистрибутив, грунтуючись на операційній системі, в яку він хоче встановити програмне забезпечення. До Наприклад, Java для Windows 7представляет собою виконуваний .exe-файл, який зажадає тільки вказати директорію для установки, а далі він все зробить сам. Варто зазначити, що в системі одночасно може бути встановлена тільки одна копія програмної оболонки. Тому перед інсталяцією потрібно впевнитися, що попередня версія Java видалена з системи. Якщо цього не зробити, то установник попросить видалити конфліктуючу програму перш, ніж продовжить установку.
Початок розробки на мові Java
Після того як користувач успішно встановив програмне середовище, йому стануть доступні різні засоби як для виконання вже написаних програм, так і для створення власних. Для того щоб почати програмувати на мові Java, не потрібно ніяких додаткових програм. Потрібно лише бажання вивчати нове і розбиратися в архітектурі мови. Якщо користувач зміг успішно встановити Java, і в процесі не виникло ніяких конфліктів з іншими програмами, то код можна починати писати в будь-якому текстовому редакторі.
Компанія Oracle подбала про те, щоб надати максимальний набір засобів для розробників. У пакет Java входить компілятор мови (утиліта Javac), яка, прийнявши в якості аргументу шлях до будь-якого текстового файлу, перетворює його в байт-код, зрозумілий віртуальній машині.
Відео: automated-testing.info: what is regular expressions?
Після цього користувач ще не може запустити додаток і побачити результати своєї роботи. Для того щоб встановити додаток Java для Windows 7, його необхідно &ldquo-запакувати&rdquo- в JAR-архів.
Формат JAR стався від скорочення Java Archive, і це особливий вид знайомого всім ZIP-архіву, який додатково містить опис класів і залежностей і вказує на точку входу (головний клас) в додаток. Для створення .jar-архіву використовується однойменну утиліту, яка також входить в стандартний пакет від Oracle. Після її успішного виконання користувач може запустити створене додаток або командою Java з командного рядка або консолі, або простим подвійним кліком.
Основні компоненти мови Java
Для того щоб успішно розробляти програми на мові Java, вивчення його потрібно починати з самих азів. Початківцям програмістам іноді буває складно зрозуміти термін &ldquo-об`єктно-орієнтована&rdquo- мову. Багато хто помилково вважає, що він означає той факт, що всі сутності, якими можна оперувати в мові, є об`єктами. Однак це не зовсім так. У мові Java, крім об`єктів, існує також набір примітивних типів. це цілочисельні типи даних (Byte, short, int, long), які представляють собою цілі числа різної розрядності, дробові типи даних (float, double), а також рядки і символьні типи (String і char) відповідно.
Для кожного з них існують так звані класи - обгортки, які використовуються для того, щоб створити посилання на об`єкт певного виду. Це вірно для всіх примітивних типів, крім строкових даних.
Особливості реалізації класу рядків в Java
Java-рядки - це особливий клас. Його можна класифікувати як незмінний об`єкт. Якщо уявити пам`ять додатки як купу (heap), в якій міститься довільна рядок, то кожна операція над нею (виділення підрядка, конкатенація, заміна символів і т. Д.) Буде створювати новий екземпляр вихідної рядки, який буде відрізнятися від оригіналу результатом операції.
Тому з рядками завжди потрібно працювати вкрай обережно: незважаючи на те, що збірка сміття в пам`яті працює чудово, програміст повинен бути гранично уважний, щоб не допустити переповнення пам`яті непотрібними посиланнями на рядки. Благо, для цього існує безліч допоміжних класів. Наприклад, можна використовувати StringBuilder і StringBuffer, які дозволяють маніпулювати рядками, але не створюють після кожної операції новий екземпляр.
Мова Java - регулярні вирази. Їх поява і призначення
Регулярні вирази з`явилися в кінці ХХ століття і зробили переворот в технологіях електронного опрацювання тексту.
Раніше пошук певних ділянок в тексті або підрядка був часто зустрічається проблемою, яка вимагала зусиль і часу на реалізацію. Програмістам доводилося перевіряти мало не кожну ділянку на точну відповідність заданому параметру пошуку або порівнювати його з великою кількістю умов. Однак з появою регулярних виразів з`явилася можливість використовувати метасимволу, за допомогою яких стало доступним описати шаблон, по якому повинен був здійснюватися пошук. У мові Java регулярні вирази з`явилися в 5 версії, і з тих пір стали невід`ємним атрибутом програмного середовища.
Особливості роботи з регулярними виразами в Java
У мові Java всі класи, які так чи інакше використовуються для роботи з регулярними виразами, винесені в окремий пакет, який називається java.util.regex. В Java регулярні вирази описуються класом Pattern, що в перекладі з англійської означає &ldquo-шаблон&rdquo-. Цей клас приймає в якості аргументу конструктора рядок, яка може бути використана для створення шаблону. Там, де необхідно його описати, замість простих букв краще використовувати метасимволу.
Для того щоб правильно вказувати параметри пошуку, краще ознайомитися з офіційною документацією від Oracle, так як багато метасимволу можуть означати зовсім не те, що пересічний користувач або програміст може подумати. Наприклад, знак &ldquo- +&rdquo- позначає, що під шаблон потрапляють один або кілька примірників безпосередньо передує елементу. При реалізації в Java регулярні вирази, спеціальні символи ті ж, що і в будь-якому іншому мовою програмування. Тому міграція з іншої платформи повинна пройти безболісно.
Можливі варіанти застосування регулярних виразів
Варто відзначити, що можливості регулярних виразів найбільш підходять для обробки дуже великих текстів. Наприклад, пошук якогось ключа або словосполучення в книзі за умови, що регістр, в якому записаний ключ, не важливий. Ручний перебір тексту для вирішення такого завдання був би вкрай неефективним, а за допомогою вбудованих в Java регулярних виразів завдання можна вирішити парою рядків коду.
Відео: Володимир Ситніков - виражається регулярно
Саме тому при вивченні даного нами мови ніяк не можна пропускати такий важливий розділ, як регулярні вирази. У Java їм можна знайти застосування в самих різних сферах - від перевірки коректності введення даних в формі (поштові адреси, номери кредитних карт) до аналізу трафіку і запитів користувачів.