во первых вот отрывок из моей "книги".
Цитата:
|
регулярное выражение это строка,
только не обычная строка а которая пишется между двумя слешами
/строка/
вот что такое регулярне выражение.
Можно искать совпадение с текстом этой регулярной строки используя метод Матчь.
Например
"обычная строка конь".match(/регулярная строка/)
вся эта херня вернет массив всех нахождений регулярной строки внутри обысной.
"обычная строка конь".match(/конь/)
найдет слово конь в обычной строке и вернетс ним массив ["конь"]
если бы было так
"обычная конь конь строка конь".match(/конь/)
то матчь нашел бы коня 3 раза в обычной строке и вернуоло бы массив всех нахождений
["конь", "конь", "конь"]
Регулярные выражения отличается от обычных строк не только отсутствием кавычек но еще и тем что в них можно использовать специальные символы, а в строках нет.
Например в регулярных выражениях есть комбинация \d и если мы её напишем, то этот спецсимвол(так они называются) будет означать что тут мы ожидаем увдеть цифру.
например
"обычная конь1 конь2 строка конь8".match(/конь\d/)
вернет массив из ["конь1", "конь2", "конь8"] таким образом если мы мы можем не знать какую именно цифру искать, но можем просто написать что после слова конь ожидается цифра))
каждый такой спец-символ вроде \d означает ТОЛЬКО ОДНУ ЦИФРУ)
То есть в "конь86".match(/конь\d/) найдется только ["конь8"]
то есть если мы ождаем после коня увидеть 2 цифры
то мы должны регулярное выражение писать так /конь\d\d/
все кони после которых идет НЕ 2 цифры не будут подходить и не проМатчатся)
и еще кое что, эти регулярки имеют типа режимы работы, они указываются после последнего слеша
/регулярка/g
/регулярка/i
/регулярка/m
g — глобальный поиск (обычно если епосле последнего слеша не поставить букву g, то ищется ТОЛКО ПЕРВОЕ СОВПАДЕНИЕ, если поставить g, то ищутся все совпадения); В примере выше с конем нужно ставить регулярку в режим g чтобы нашлись все кони а не только первый.
i — не различать строчные и заглавные буквы;
m — многострочный поиск.
можно использовать несколько флагов(эти буковки так называются) одновременно
например
/кОнЬ/gi - искать все совпадения с регуляркой а не только первое при том не различать заглавные и строчные.
спецсимволы которые понимает регулярка можешь посмотреть вот тут
http://javascript.ru/RegExp
Например есть даже спецсимвол означающий что мы ожидаем повторение предыдущего перед ним символа один или более раз
это символ +
то есть за место
"конь86".match(/конь\d\d/) мы можем написать
"конь86".match(/конь\d+/)
тогда найдутся все кони после который идет какая-то цифра один или более раз))
дальше сами разберетесь.
|
А во вторых вот способ как я научился регуляркам за 3 часа с нуля.
Это задача.
Используя эту таблицу http://javascript.ru/RegExp
, составь регулярку, которая будет находить в обычном тексте ссылки на ютьюб, при том будет сохранять в скобочную группу айдишник видео внутри этой ссылки.
потом напиши функцию чтобы она находила в тексте все такие ссылки на ютьюб, и заменяла их чисто айдишниками ютьюбовских видео.