6 обычных способов запомнить js за раз

внешний интерфейс JavaScript регулярное выражение
6 обычных способов запомнить js за раз

Я часто сбиваюсь с толку. Почему я всегда чувствую себя смутно в отношении некоторых знаний? На самом деле я меньше думаю и меньше обобщаю. То же самое верно для большинства людей. Если у вас есть какие-то сомнения, вы можете их найти. Если вы хотите понять или не понимаю, вы можете записать свои успехи. , это намного лучше, чем развернуться и забыть. . Хорошо, я не думаю, что закономерность в js очень ясна, так что давайте посмотрим.

Во-первых, образное число 6 может помочь нам вспомнить в целом, 666, ха-ха.

Объем

В js есть два класса, которые позволяют работать регуляризации.
alt

Создайте
var re = /ab+c/  

Метод 1: литералы регулярных выражений, это прямое представление констант может повысить производительность синтаксического анализатора js.

var re = new RegExp('ab+c')  

Метод 2: Конструктор, этот метод может динамически определять, что такое регулярка во время выполнения, что является более гибким.

Общие специальные символы

Давайте запомним некоторые часто используемые спецсимволы. Это категория собственно обычных. Вам всегда кажется, что вы не можете их запомнить? На самом деле я не помню, каждый раз захожу в поиск и онлайн-проверку для выполнения каких-то заданий. Я тоже был обеспокоен, на самом деле, в конце концов, это было потому, что я писал меньше, и я был знаком с этим. . . В следующем резюме не пишется конкретное содержание, только перечислены конкретные специальные символы и категории, вы можете попробовать сказать их значение, я думаю, что это более способствует памяти, чем просмотр таблицы. . .

  • Количество совпадений: * + ? {n} {n,} {n,m} .
  • Позиционное соответствие: ^$
  • При сопоставлении и необходимости поддержки группировки его необходимо заключать в круглые скобки: (шаблон сопоставления)
  • Условия соответствия:|
  • Подходящий набор из: []
  • совпадение не коллективное: [^]

Существует также большое количество шаблонов сопоставления со специальными значениями, состоящими из \ и букв. Когда они используются, их можно запросить. Нет необходимости запоминать их. На самом деле, я не могу их запомнить. . .

пример

Примеры — лучшие учителя. . . . Пример из MDN

  • Я хочу получить соответствующий массив
var myRe = /d(b+)d/g;  
myRe.exec('cdbbdbsdbdbz') // ["dbbd", "bb", index: 1, input: "cdbbdbsdbdbz"]  
myRe.exec('cdbbdbsdbdbz') // ["dbd", "b", index: 7, input: "cdbbdbsdbdbz"]  
myRe.exec('cdbbdbsdbdbz') // null  

Обратите внимание, что каждый раз, когда EXEC EXEC возвращает только одно совпадение, если вам нужно получить все совпадения, вам нужно получить цикл while, флаг конца цикла равен NULL.

'cdbbdbsdbdbz'.match(/d(b+)d/g) // ["dbbd", "dbd"]  
'cdbbdbsdbdbz'.match(/d(b+)d/) // ["dbbd", "bb", index: 1, input: "cdbbdbsdbdbz"]  

Сопоставление строк довольно странное. Если это глобальное совпадение, будут выведены все совпадающие массивы, если нет, будет выведена первая совпадающая строка и соответствующее содержимое захвата.

  • Я хочу получить, если это соответствует
var str = 'hello world!';  
var result = /^hello/.test(str); // true  
  • Я просто хочу получить позицию первого матча
'cdbbdbsdbdbz'.search(/d(b+)d/) // 1  
'xxx'.search(/d(b+)d/) // -1 没有匹配  
  • Я хочу разделить строку по совпадению
var names = 'Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ';  
var re = /\s*;\s*/;  
var nameList = names.split(re);  
// [ "Harry Trump", "Fred Barney", "Helen Rigby", "Bill Abel", "Chris Hand " ]
  • Я хочу перезаписать строку по совпадению
var re = /apples/gi;  
var str = 'Apples are round, and apples are juicy.';  
var newstr = str.replace(re, 'oranges');  
// // oranges are round, and oranges are juicy.

Вариантов использования этого метода замены действительно много, включены только самые основные.Просто проверьте их еще раз, когда возникнет необходимость.Лучше практиковаться, когда у вас есть концепция в целом, чем насильно запоминать~