Рубрики
Без рубрики

JS Regex Chechsheet Часть 1 1

Привет, и добро пожаловать в этот быстрый учебник. Я проснулся до почты о сегодняшнем году, будучи годом … Теги с JavaScript, начинающими, кодом, CodeNewie.

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

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

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

Давайте погрузимся вправо в будущем.

При написании регулярных выражений мы можем использовать буквальный, как

let kofi = /ama/;

или мы можем использовать конструктор, как

let kofi  = new RegExp("ama");

Оба они действительны и значат одно и то же. Таким образом, вы можете использовать любой формат.

Обратите внимание, что шаблон, используемый в конструкторе, всегда является строкой или лучше, но завернутой в кавычки. Также при использовании литералов, если любым случаем будут специальные символы, такие как вопросительные знаки, плюс знаки в вашем шаблоне, вы должны убедиться, что обратная косание “\” предшествует им, поскольку они имеют значения в регулярных выражениях, как вы собираетесь увидеть.

Я буду использовать два метода с регулярными выражениями;

  1. Regexp.test ();
  2. Regexp.exec ();

Regexp.test () – это метод, который тестирует для вашего шаблона и возвращает истинный или ложный. Если он находит ваш рисунок в данной строке, она возвращает True. Если нет, ложь.

Regexp.exec. () – это метод, который ищет матч в строке и возвращает информацию, когда он находит совпадение, как массив и нуль, когда он не находит совпадение.

Regexp.test ()

Для теста метода это то, как вы можете использовать его

/**
This finds the exact match in a string. Thus the string must contain "abc" in the exact order or sequence.
**/
/ama/.test("lamal"); //returns true
/ama/.test("almal"); //returns false

/**
This next one lets you find a range of characters in a string and is one of my favourites to use.
**/
/[196]/.test("i was born in 1996"); //returns true

//or

//This means all the numbers from 0-9, thus 0123456789.
/[0-9]/.test("i was born in 1996");  //returns true


//This returns false because there is neither 0,4 nor 3 in the string
/[043]/.test("i was born in 1996"); //returns false

Давайте поймаем передышку здесь. Помните специальных персонажей, на которых я упоминал ранее? Мы доберемся до этой реальной быстро, но сначала давайте посмотрим на пару общих ярлыков для написания выражений.

Пожалуйста, обратите внимание на эти

\d  //returns true if any number is found in a given string "19"
\D //returns true if there aren't any numbers in a string "the"

\w //returns true if any alphanumeric is found in a given string "u2"
\W //returns true if there aren't any alphanumeric in a given string  "(-)"

\s //returns true if there is any whitespace thus space, tab and newline " "
\S //returns true if there is any non-whitespace character "khi "

. //returns true for any character except a new line

Специальный характер как карет ^ используется для негативного соответствия диапазон значений. Это означает, что существует ли какое-либо другое значение в данной строке, отличной от те, которые он предшествует на рисунке, верните True.

/[^1996]/.test("199619961996") //returns false

/[^1996]/.test("1996199619967") //returns true because of 7

И сейчас нашим специальным персонажам

/**
Question marks are used for optional matching, meaning the value they come right after can be present in a given string or not and in this case was the letter "u"
**/
/favou?rite/.test("favourite"); // returns true
/favou?rite/.test("favorite"); //returns true

/**
Plus signs are used to indicate whether the value it comes after will appear once or more times in a given string
**/
/vo+/.test("volvo"); //returns true

/\d+/.test("20019"); //returns true

/\d+/.test("volvo"); //returns false

/\d+/.test(" "); //returns false

/**
A star also does the same as a plus but also returns true when there is no match too
**/

/\d*/.test("volvo"); //returns true


/**
Braces are used to make sure a pattern is represented exactly a number of times. 
It can also be used to specify a range. A good example is when you want to validate dates and time. {3} means the value it comes after must appear exactly 4 times in a given string. 
{1,3} means the value it comes after must be present at least once and at most 3 times. In the example below, the first set means any digit given to represent a day can be either "3" or "30" thus one or two digits as there is only up to 31 days in a month.
 The next means the month can be either "4" or "12" as there is only up to 12 months in a year and the last accepts exactly 4 digits.
**/
/\d{1,2}-\d{1,2}-\d{4}/.test("3-01-1996"); //returns true

Это будет это для части первой части, часть вторая будет решать Regexp.exec () И более продвинутые регулярные выражения, которые помогут вам с легкостью создавать свои собственные выражения. Так что пока на данный момент поймай вас в ближайшее время на части два. Надеюсь, это помогло вам понять, что вы можете сделать с регулярными выражениями.

Комментарии приветствуются😊

Оригинал: “https://dev.to/augani/js-regex-cheatsheet-part-1-1njb”