Как использовать переменную в регулярном выражении в PHP/JavaScript?
Не так давно мы рассмотрели с вами способы поиска совпадения участков текста в строке на различных языках программирования.
Сегодня же мы рассмотрим случай, когда в регулярном выражении используется не слово, а некая переменная.
Как использовать переменную в регулярном выражении в PHP?
В PHP поставленная задача решается простыми кавычками. И если раньше мы осуществляли поиск по регулярному выражению так:
<?php
$content = "Hello, World!";
if(preg_match("/World/", $content)) {
echo "Слово найдено";
}
?>
То теперь мы можем использовать и переменную как необходимое слово для поиска:
<?php
$word = "World";
$content = "Hello, World!";
if(preg_match("/".$word."/", $content)) {
echo "Слово найдено";
}
?>
Все очень просто.
Как использовать переменную в регулярном выражении в JavaScript?
В JavaScript, к сожалению, способ с кавычками не проходит, и для того, чтобы в этом языке программирования использовать переменную в регулярном выражении, вам необходимо использовать следующую хитрость:
var word = "World";
var pattern = new RegExp(word, "i");
И, соответственно, пример ее использования:
<script>
var word = "World";
var pattern = new RegExp(word, "i");
var content = "Hello, World!";
var exists = pattern.test(content);
if(exists) {
alert("Слово найдено");
}
</script>
В таком случае вы можете использовать переменную в регулярном выражении и совершать с ней необходимые действия.