Деякі символи мають одне значення в регулярних виразах і зовсім інше – у решті контекстів. Наприклад, у регулярних виразах крапка (.) є спеціальним символом, що відповідає будь-якому одному символу. У письмовому мовленні крапка позначає кінець речення. У програмуванні вона використовується як десятковий розділювач, що відокремлює цілу частину числа від дробової.
У регулярних виразах символ спершу сприймається в його спеціальному значенні: якщо зустрічається крапка, вона відповідає будь-якому одному символу.
Наприклад, регулярний вираз "1." відповідає таким значенням:
- 11
- 1А
Регулярний вираз "1.1" відповідає таким значенням:
- 111
- 1A1
Визначення IP-адреси за допомогою регулярного виразу може призвести до непередбачуваних результатів. Наприклад, регулярний вираз 0.0.0.0 може означати:
- 0102030
- 0а0б0в0
Щоб крапка в регулярних виразах сприймалася в її основному значенні – як роздільник частин IP-адреси, а не спеціальний символ, що відповідає будь-якому іншому символу, – потрібно подати певний сигнал. Таким сигналом є зворотна скісна риска (\). Коли в регулярному виразі зустрічається зворотна скісна риска, наступний символ інтерпретується буквально. Регулярний вираз, що відповідає IP-адресі 0.0.0.0, має такий вигляд:
0\.0\.0\.0
Використовуйте зворотну скісну риску, щоб будь-який спеціальний символ інтерпретувався буквально, наприклад:
- \\ (скасовує спеціальне значення зворотної скісної риски)
- \[ (скасовує спеціальне значення дужки)
- \{ (скасовує спеціальне значення фігурної дужки)
- \. (скасовує спеціальне значення крапки)