Прочитав его, он не будет регулярным, до ест обычный

регулярное выражение

предисловие

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

Я сталкивался с этим раньше, я собираюсь пойти в Google или один за другим.

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

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

Ведь никто (wo) не может запомнить это дело на всю жизнь!

Если вы думаете, что я помог вам, пожалуйста, проголосуйте!


Point

Лично я считаю, что наиболее важной грамматикой регулярности является классификация.Если вы научитесь хорошо классифицировать, в мире не будет строк, которым нельзя сопоставить.

Так называемая классификация - это одна (n) двойная скобка ()! Официальное существительное: подвыражение


полное совпадение

Давай, возьмем простой каштан.

Найдите Рождество в предложении, например, в лирике моей формы:

We can leave the Christmas lights up , util January.

В основе нашей классификации лежит то, что Рождество

Чтобы написать первую строку регулярного выражения: /(Christmas)/

(Если есть только одно совпадающее значение, мы обычно удаляем круглые скобки, т.е. /Рождество/)


Результат соответствия:

Christmas


сопоставление интервалов

Затем обновите, дойдите до небольшой проблемы с приложением:

Разделить все слова в предложении на одну строку

Ставим все слова а-з-а-я, составленные до сортировки

Это /a-zA-Z/, но умные друзья должны знать, что это недопустимо

Поскольку это будет точное совпадение, совпадением является ограниченная строка "a-zA-z" в предложении.

Здесь нам нужно понять концепцию интервала,

С точки зрения непрофессионала, строка, которую вы хотите сопоставить, будет находиться в этом интервале, и интервал представлен []

/ ([A-zA-Z]) / соответствует всем одиночным символам a-zA-Z


Спички:

W

n

e

a ...


Чтобы разрешить другие символы только тогда, когда они соответствуют одному символу, т. е. предыдущее подвыражение совпадает один или несколько раз, количество совпадений представлено знаком +.

Это немного запутанно, поэтому давайте перейдем непосредственно к картинке.

Наше выражение — /([a-zA-Z])+/, что означает, что подвыражение в () может быть выполнено несколько раз


Увидев эту картинку, сразу понятно, что группу мы называем Group, а + это 1 и более раз

Результат матча:

We 

can 

leave

the 

Christmas 

lights 

up 

util 

January


несимвольное совпадение

В это время экзаменатор снова задал вопрос, и я все еще хочу сопоставить это, или символ, или другое! номер или что-то в этом роде.

Наша основа — это сопоставление слов, т. е. ([a-zA-Z])+ или , символов и .символов ([\,\.])

(специальные символы, преобразованные путем добавления \ перед символом)

Обычный предоставляет символ | для представления или отношения, и все группы связаны символом |,

([a-zA-Z])+|([\,\.])


Результат матча:

We 

can 

leave 

the 

Christmas 

lights 

up 

util 

January 

.


сокращенный режим

Таким образом, вопрос в том, если мы хотим получить все это символы

Поштучное перечисление - это не наша инженерная ленточка (стиль)


\dто есть[0-9].表示是一位数字。记忆方式:其英文是digit(数字)。

\Dто есть[^0-9]. Представляет любой символ, кроме цифр.

\wто есть[0-9a-zA-Z_]. Представляет цифры, прописные и строчные буквы, а также знаки подчеркивания. Метод запоминания: w — это сокращение от слова, также известного как символ слова.

\Wда[^0-9a-zA-Z_]. несловесные символы.

\sда[ \t\v\n\r\f]. Обозначает пробелы, включая пробелы, горизонтальные табуляции, вертикальные табуляции, новые строки, возврат каретки и переводы форм. Метод запоминания: s — первая буква пробела.

\Sда[^ \t\v\n\r\f]. не пробел.

.то есть[^\n\r\u2028\u2029]. Подстановочный знак, представляющий практически любой символ. Исключениями являются новые строки, возврат каретки, разделители строк и разделители абзацев. Как запомнить: думайте о каждой точке в многоточии... как о заполнителе для чего-то подобного.


Перепишите ([a-zA-Z])+|([.\,]), чтобы сделать его совместимым со всеми символами

то есть ([a-zA-Z])+|([\S.]), соответствует всем словам и символам, кроме новых строк

Для тестирования мы изменили пример на Мы можем оставить рождественские огни зажженными до января!


Результат матча:

We 

can 

leave 

the 

Christmas 

lights 

up 

util 

January 

!

Теперь вы можете согласиться с моей концепцией важности классификации?


совпадение местоположения

Что, если я просто хочу получить последнее слово, то есть январь.

Регулярное выражение предоставляет запись о позиции строки:


^ соответствует началу входной строки

$ Соответствует входной строке строк

\ B соответствует границе слова, то есть относится к локату и пространствам между словами. Например, «er \ b» совпадает с «никогда» в «ER», но не соответствует «глаголу» в «ER».

\ А Б \ б наоборот: эр \ Б 'соответствует "глаголу" в 'эр', но не соответствует "никогда" в 'эр'.



Результат матча:

January!


Не волнуйтесь, String.prototype.replace в сочетании с нашей группировкой в ​​скобках дает нам единственную переменную, которую мы сгруппировали.

var pattern = /([a-zA-Z]+)(.)$/,  
str = 'We can leave the Christmas lights up, util January!';
str.replace(pattern,(a,b,c)=>{ 
    // a,b,c 为 January! January ! 
    return something
})

Поскольку мы сопоставем шаблон на две группы, одну группу слов, символ группы,

Поэтому замените параметр функции в дополнение к нашему результату сопоставления более чем двумя значениями, т. Е. Словами и символами января!


Эпилог

Прочитав так много, я считаю, что базовое сопоставление больше не составляет для вас труда.

В процессе обучения регулярно работает инструмент на скриншоте выше.Regulex, это может быть очень полезно, чтобы помочь вам определить, правильна ли область вашего запроса.

сотрудничать одновременноИнструмент онлайн-тестирования регулярных выраженийУбедитесь, что совпадение правильное.

На самом деле, есть еще много функций, которые не упомянуты в этой статье, вы можете изучить clams самостоятельно.