пятница, 5 марта 2010 г.

Краткий F(AQ|uck) по регулярным выражениям

    • * — любое (в том числе и нулевое) количество символов в строке, соответсвующих символу перед *. Т.е. 1589* — 158 + от любое количество 9: 158, 1589, 15899 и т.д.
    • + — любое ненулевое количество символов в строке, соответсвующих символу перед +. Т.е. 1589+ — это 1589, 15897, но не 158.
    • . — не менее одного любого символа (кроме перевода строки). 158. — 1581, 1589, 15891 и т.д.
    • ? — 0 или 1 предществующих выражений. Пример: Star(Craft)? — это Star и StarCraft.
    • ^ — начало строки + в некоторых контекстах отрицание. ^A — все строки, начинающиеся с А.
    • $ — конец строки. mp3$ — все строки, оканчиваюеся на mp3.
    • ^$ — пустая строка.
    • \ — экранирующий символ, нужен для работы с символами, применяющимися в регулярных выражениях. \?, \. и тому подобное.
    • [] — задают подмножество символов, внутри квадратных скобок ^ действует как отрицание.
      [abc] — а, b или c.
      [d-h] — символ из диапазона с d по h.
      [A-E] — символ из диапазона с A по E.
      [d-hA-E] — символ из d-h или A-E.
      [0-7] — диапазон цифр.
      [^k-q] — любой символ, кроме диапазона символов с k по q.
    Полезная ссылки по сабжу: один, два, три и четыре.