JavaScript RegExp Ссылка
❮ Предыдущая Следующая Ссылка ❯
RegExp объект
Регулярное выражение является объектом, который описывает образец символов.
Регулярные выражения используются для выполнения поиска по шаблону и «search-and-replace» функции по тексту.
Синтаксис
/ pattern / modifiers ;
пример
var patt = /w3ii/i
Объяснение примера:
- / w3ii / я является регулярным выражением.
- w3ii является шаблоном (to be used in a search) .
- я модификатор (modifies the search to be case-insensitive) , (modifies the search to be case-insensitive) к (modifies the search to be case-insensitive) .
Для учебника о регулярных выражениях, читайте JavaScript RegExp Учебник .
Модификаторы
Модификаторы используются для выполнения нечувствительны к регистру и глобального поиска:
Модификатор | Описание |
---|---|
i | Выполните регистронезависимое согласование |
g | Выполнить глобальный матч (find all matches rather than stopping after the first match) , (find all matches rather than stopping after the first match) |
m | Выполните многострочный согласование |
Кронштейны
Кронштейны используются, чтобы найти диапазон символов:
выражение | Описание |
---|---|
[abc] | Найти любой символ в скобках |
[^abc] | Найти любой символ НЕ между кронштейнами |
[0-9] | Найти любую цифру в скобках |
[^0-9] | Найти любую цифру НЕ в скобках |
(x|y) | Найти какой-либо из вариантов, указанных |
метасимволов
Метасимволов персонажи с особым смыслом:
Метасимвол | Описание |
---|---|
, | Найти один символ, кроме символа новой строки или конца строки |
\ ш | Найти слово характер |
\ W | Найти несловообразующий характер |
\ d | Найти цифру |
\ D | Найти нецифры характер |
\ s | Найти символ пробела |
\ S | Найти непробельный характер |
\ б | Найти матч в начале / конце слова |
\ B | Найти матч не в начале / конце слова |
\ 0 | Найти символ NUL |
\ п | Найдите символ новой строки |
\ е | Найти символ формы подачи |
\р | Найти символ возврата каретки |
\ т | Найдите символ табуляции |
\ v | Найти вертикальной табуляции |
\ ххх | Найти символ, заданный восьмеричное число ххх |
\ XDD | Найти символ, заданный шестнадцатеричным числом дд |
\ ихххх | Найти символ Unicode, заданный шестнадцатеричным числом хххх |
Кванторы
Квантор | Описание |
---|---|
n+ | Соответствует любую строку , которая содержит по меньшей мере один п |
n* | Соответствует любую строку , которая содержит ноль или более вхождений п |
n? | Соответствует любую строку , которая содержит ноль или один вхождение п |
n{X} | Соответствует любую строку , которая содержит последовательность X n «ы |
n{X,Y} | Соответствует любую строку , которая содержит последовательность X к Y n «ы |
n{X,} | Соответствует любую строку , которая содержит последовательность , по меньшей мере , Х n «ы |
n$ | Соответствует любой строке с п в конце этого |
^n | Соответствует любой строке с п в начале этого |
?=n | Соответствует любой строке , которая сопровождается определенной строки п |
?!n | Соответствует любую строку, не следует определенной строка п |
Свойства объекта RegExp
Имущество | Описание |
---|---|
constructor | Возвращает функцию, которая создала прототип объекта типа RegExp |
global | Проверяет , находится ли «g» установлен модификатор |
ignoreCase | Проверяет , находится ли «i» модификатор установлен |
lastIndex | Определяет индекс, с которого начинается следующий матч |
multiline | Проверяет , находится ли «m» установлен модификатор |
source | Возвращает текст шаблона RegExp |
Методы объекта RegExp
метод | Описание | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
compile() | Устаревшие версии 1. \d\.EXABCDEF\-\+]/gi) || isNaN(parseFloat(object))) return false;
try {if(!isNaN(eval(object))) return true} catch(e) {return false}
}
} 1 Зарегистрируйтесь или войдитеРегистрация через Facebook Регистрация через почту Отправить без регистрацииПочта Необходима, но никому не показывается Отправить без регистрацииПочта Необходима, но никому не показывается Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки JavaScript RegExp .Метасимвол ❮ Предыдущий Объект регулярного выражения JavaScript Далее ❯ПримерГлобальный поиск «h.t»: let text = «Это горячо!»; Попробуйте сами » Поддержка браузера ES1 (JavaScript 1997) полностью поддерживается во всех браузерах:
Синтаксисnew RegExp(» регулярное выражение .») или просто: / регулярное выражение . / Синтаксис с модификаторамиили просто: / регулярное выражение ./g Методы поиска регулярных выраженийшаблон как регулярное выражение, это наиболее распространенные методы:
❮ Предыдущий Объект регулярного выражения JavaScript Следующий ❯ ВЫБОР ЦВЕТАЛучшие учебникиУчебное пособие по HTMLУчебное пособие по CSS Учебное пособие по JavaScript How To Tutorial SQL Tutorial Python Tutorial W3.CSS Tutorial Bootstrap Tutorial PHP Tutorial Java Tutorial C++ Tutorial jQuery Tutorial Top ReferencesHTML ReferenceCSS Reference JavaScript Reference SQL Reference Python Reference W3. CSS Reference Bootstrap Reference PHP Reference HTML Colors Java Reference Angular Reference jQuery Reference Лучшие примерыПримеры HTMLПримеры CSS Примеры JavaScript Примеры инструкций Примеры SQL Примеры Python Примеры W3.CSS Примеры Bootstrap Примеры PHP Примеры Java Примеры XML Примеры jQuery FORUM | ОW3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности. Copyright 1999-2023 Refsnes Data. Все права защищены. JS RegExp, быстрый и медленный.Движок JavaScript V8 использует Irregexp… | Якоб Грубер | DailyJSДвижок JavaScript V8 использует Irregexp, один из самых быстрых механизмов RegExp. Тем не менее, чтобы наилучшим образом использовать эту мощь, разработчикам JS по-прежнему необходимо избегать определенных ловушек, которые, к сожалению, не являются очевидными и хорошо задокументированными и могут привести к потере драгоценного времени выполнения встроенных функций RegExp до того, как они достигнут сгенерированного кода сопоставления шаблонов Irregexp. Например, я недавно столкнулся с проблемой в трекере UglifyJS2, в которой разработчик столкнулся с ошибкой корректности в старой версии Chrome. Сам исходный код казался достаточно невинным: $ browserify test.js > bundle.js Расследование привело к простой ошибке в медленном пути Или это? Почему мы вообще идем по медленному пути в этом тривиальном примере? Возможно, вы не знаете об этом, но выбор медленного пути может оказать огромное влияние на производительность. В частности, в случае Встроенные функции RegExp имеют несколько требований, которые необходимо выполнить, чтобы они могли использовать быстрый путь. Рассмотрим
В нашем примере выше Так почему же вообще существует различие между медленными и быстрыми путями? Ответ: производительность. Чтобы быть эффективным, быстрый путь должен иметь возможность делать определенные предположения о форме объекта RegExp. Например, нужно знать, что 9Доступ к 0017 lastIndex возможен по определенному смещению в области памяти объекта, и что доступ к lastIndex не имеет побочных эффектов (т. е. без установленных геттеров, без преобразования объекта в целое число) . Используя эти предположения, быстрый путь может генерировать очень компактный код, превращая Оставить комментарий
|