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

Привет. Регулярные выражение в JS имеют два синтаксиса.

Первый

let regexp = new RegExp('Само рег. выражение','флаги')

Второй

let regexp = /Само рег. выражение/флаги

Часто используемые команды

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

g – множественный поиск.

Примеры

Метод match — возвращает массив – объект с подробной информацией.

let str = "javaScript ля ля ля Java";
console.log(str.match(/java/ig));

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

Замена в строках

console.log('+7(000)000-00-00', replace(/-/g,':'));

Найти в строке город

Есть строка — г. Казань, ул. Фатыха Амирхана, д. 15.

/г.(.+),/iU

/ — начало регулярки.

г. — ищем символ г с точкой.

(.+) — любой один символ т.е. пробел.

, — дальше ищем запятую.

/ — конец регулярки.

i — регистронезависимость.

U — Жадность.

А еще можно вот так вот.

("/^(.*)(г\..+),(.+)$/iuU", '$2', $str)

$str — строка поиска.

$2 — второе условие.

/ — начало регулярки.

^ — начало строки.

(.*) — первое условие, любой символ 0 и более раз.

(г\..+) — символ г, точка, любой символ один и более раз.

, — запятая.

(.+) — любой символ один и более раз.

$ — конец строки.

/ — конец регулярки.

iuU — регистронезависимость, кириллица и жадность.

Еще интересный вариант на языке PHP.

$str = 'г. Казань, ул. Фатыха Амирхана, д. 15';

preg_match_all('~^г.\s+(?P<city>[^,]+),\s+ул.\s+(?P<street>[^,]+),\s+д.\s+(?P<house>[^,]+)$~iu', $str, $mathes, PREG_SET_ORDER);
$info = $mathes[0];
echo $info['city'] . PHP_EOL;
echo $info['street'] . PHP_EOL;
echo $info['house'] . PHP_EOL;

Поиск слова на английском с дополнительными символами

Необходимо найти город, но в строчке может встречаться – или/и — или/и ().

/[a-z—-]+/gmi

Проверить пароль

Условие: чтобы пропускала только, больше либо ровно 8 символов, цифры чтобы были, Заглавная чтобы была буква, только латиница, допустимые знаки .!_  (должен быть один из .!_ ).

$re = '/^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!_.])[A-Za-z0-9!_.]{8,}$/m';
$str = '
pasWwor!asda123';

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

// Print the entire match result
var_dump($matches);

//or

return preg_match(
'/^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!_.])[A-Za-z0-9!_.]{8,}$/m',
$value
) > 0;
Предыдущая
JSJS6 fetch, пример использования (promise)
Помогла статья? Оцените её
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Оценок: 1
Загрузка...
Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.