Страница 369 из 478 Таблица 17.2 (продолжение) Пример | Соответствие | \ | Символ «.» (Знак «\» необходим, так как «.» является метасимволом) | 5\.0* | «5.», «5.0», «5.00», «5.000» и т. д. | a-f | Любой из символов а, Ь, с, d, е или f | cats$ | Только последнее слово cats в My cats are friendly cats | ^nry | Только первое my в my cats are my pets | \d{2,3} | Любое двух- или трехзначное число (от 00 до 999) | 7(,000)+ | «7,000»; «7,000,000»; «7,000,000,000»; «7,000,000,000,000» и т. Д. | [\w]+ | Любое слово из одного или нескольких символов | [\w]{5} | Любое слово из пяти символов |
Общие модификаторы В регулярных выражениях можно применять следующие модификаторы: О/д — допускает «глобальное» соответствие. Этот модификатор применяется с функцией замены, что позволяет выполнить замену во всех соответствующих местах, а не только в месте первого соответствия; О / i — отключает в регулярном выражении чувствительность к регистру букв. То есть вместо /[a-zA-Z]/ можно указать /[a-z]/i или /[A-Z]/i; О /т — допускает многострочный режим работы, в котором знак вставки (") и знак доллара ($) соответствуют позициям перед любыми символами новой строки в сравниваемой строковой переменной и после них. Обычно при поиске соответствия в многострочной строковой переменной знак Л соответствует только позиции в ее начале, а символ $ — в ее конце. Например, выражение /cats/g будет соответствовать обоим появлениям слова «cats» в предложении «I like cats and cats like те». Аналогично этому выражение /dogs/gi будет соответствовать обоим появлениям слова «dogs» («Dogs» и «dogs») в предложении «Dogs like other dogs», поскольку эти модификаторы допускают совместное использование. Использование регулярных выражений в JavaScript В JavaScript регулярные выражения используются в основном в двух методах:test (который вы уже рассматривали) и repl асе. Метод test просто сообщает, соответствует ли его аргумент регулярному выражению, а метод repl асе воспринимает второй параметр — строку, которой заменяется текст, соответствующий регулярному выражению. Как и большинство методов, repl асе генерирует в качестве возвращаемого значения новую строку, входные данные при этом не изменяются. Если сравнивать эти два метода, то следующая инструкция просто возвращает :rue, позволяя узнать, что слово cats появляется в строке хотя бы один раз: ::cument.write(/cats/i.test("Cats are fun. I like cats."))
|