Примеры регулярных выражений на Javascript
128

Регулярное выражение это последовательность символов, которая создает шаблон поиска. Когда вы ищете данные в тексте, вы можете использовать этот шаблон поиска, чтобы описать то, что вы ищете.
В JavaScript регулярное выражение - это объект, который описывает шаблон символов.
Строка полностью соответствует регулярному выражению
Проверим если str.match(pattern) не является null:
var str = 'foo'
console.log( str.match(/^fo$/) !== null );
// false
Строка содержит регулярное выражение
Проверим если str.match(pattern) не является null:
var str = 'foo'
console.log( str.match(/fo/) !== null );
// true
Извлечь паттерн из строки
Допустим, у вас есть строка, и вы хотите проверить, имеет ли она форму «foobar <a number> baz», и, если она совпадает, вы хотите узнать, что такое <a number>.
var str = "foobar12345baz";
var result = str.match(/foobar(\d+)baz/);
if ( result === null ){
console.log('no match'); // null означает, что нет совпадения
}else{
console.log(result[1]); // здесь хранится результат
}
// 12345
Заменить шаблон в строке, только первое совпадение
Пример: удалить все последовательности цифр из строки
// Другими словами, замените его пустой строкой
var str = "foo bar 123 baz 456 quux";
console.log(str.replace(/\d+/g,""));
// "foo bar baz quux"
Захват и замена на группы захвата
Когда переменные, такие как $1 помещаются в строку замены, они ссылаются на группу захвата (разделы регулярных выражений внутри ()) в аргументе регулярного выражения:
var str = "foo b123 baz";
console.log(str.replace(/(\w)\d+/,'$1'));
// "foo b baz"
Захват и замена нескольких групп захвата
Если существует несколько групп захвата, на первую из них ссылается $1, на вторую - $2 и так далее:
var str = "foo b123 c456 baz";
console.log(str.replace(/(\w)\d+\s+\w(\d+)/,'$1--$2'));
// "foo b--456 baz"
Регулярные выражения с переменными
Вам нужно будет использовать RegExp конструктор.
var name = "john";
// вы можете передать модификаторы как второй параметр
var john_re = new RegExp(name,'i');
// вот эти совпадают
console.log("JOHN".match(john_re));
console.log("jOhn".match(john_re));
// эти нет
console.log("mary".match(john_re));
Javascript не так уж и страшен, если вы уделите на его изучение немного времени.