| вопрос | ответ |
| \A | начало строки |
| \Z | конец строки или символ перевода конца строки |
| \B | отсутствие границы слова |
| \h | наличие границы слова |
| \S | соответствие любым символам, кроме пробельных |
| \s | соответствие пробельным символам |
| \D | соответствие любому символу, за исключением десятичных цифр |
| \d | соответствие десятичной цифре |
| За ограничителями (/text/) могут следовать модификаторы | x Игнорировать пробельные символы |
| За ограничителями (/text/) могут следовать модификаторы - i Игнорировать регистр при поиске соответствия | /mail/i - будет соответствовать как строке "MAIL", так и строке "mail" |
| Perl регулярные выражения | /text/ = "text" |
| int preg_match (string pattern, string subject [, array matches]) | Эта функция ищет в строке subject соответствие регулярному выражению pattern. Если задан необязательный параметр matches, то результаты поиска помещаю |
| Класс [[:graph:]] | печатные символы, за исключением пробельные |
| Класс [[:cntrl:]] | управляющие символы |
| Класс [[:print:]] | печатные символы |
| Класс [[:blanc:]] | символы табуляции и пробела |
| Класс [[:space:]] | символы пробела |
| Класс [[:punct:]] | знаки пунктуации |
| Класс [[:lower:]] | строчные буквенные символы |
| Класс [[:upper:]] | прописные буквенные символы |
| Класс [[:alpha:]] | буквенные символы |
| Класс [[:xdigit:]] | шестнадцатеричные цифровые символы |
| Класс [[:digit:]] | десятичные цифровые символы |
| Класс [[:alnum:]] | буквенно-цифровые символы |
| когда нужно сопоставить выражение строке, в которой встречаются спецсимволы $, ^, {. \ | "\$", "\^", "\{", "\\", ... |
| Знак доллара $ соответствует концу строки | "xy$" |
| символ ^ ставится за пределами выражения в скобках | "^[a-z]" |
| Символ ^ соответствует началу строки | "^xy" |
| (морская)*волна | Это выражение соответствует строкам "волна", "морская волна", "морская морская волна" и т.д. |
| "x(yz)*" | соответствует строке, в которой за x следует ноль и более последовательностей yz |
| "x(yz){2,6}" | соответствует строке, в которой за x следует от двух до шести последовательностей |
| "xy{2,6}" | соответствует строке, в которой за x следует от двух до шести y; |
| "xy{2,}" | соответствует строке, в которой за x следует не менее двух y (может быть и больше) |
| "xy{2}" | соответствует строке, в которой за x следует два y |
| "a*" | ноль или более а (строки "абв" и "абва" и "укр" соответствуют этому выражению) |
| "a?" | ноль или один а (строки "абв" и "укр" соответствуют этому выражению, а строка "абва" - нет) |
| "a+" | хотя бы один а (строки "абв" и "абва" соответствуют этому выражению, а строка "укр" - нет) |
| квалификаторы | +, ?, * |
| Для исключения последовательности символов из поиска перед этой ней ставится символ "^", ТОЛЬКО ВНУТРИ СКОБОК | "[^а-я]" - отвечает любому символу, не содержащемуся в диапазоне а-я. Обратите внимание, что символ ^ находится внутри квадратных скобок, так как толь |
| или в регулярном выражении | | "abc|абв" - соответствует любая строка, содержащая подстроки "abc" или "абв" |
| точка это любой символ | "x.[0-9]" = "xy1", "xz2", ... |
| точка в регулярном выражении соответствует любому символу | .ok = 'pok', 'rok', 'mok', ... |
| соответствует строкам содержащие все цифры | [0-9] |
| два символа разделенных дефиом, задают соответствие диапазону символов, находящихся между ними | а-Я |
| выражение в квадратных скобках [akd] - соответствует любая строка, содержащая символы akd, вместе или по отдельности | [akd] |
| создать регулярное выражения для строк содержащих kms | 'kms' |