Необходимо найти такие строки:
/group-avvsgng.php
/group-vvzb_hl.php
Но исключить такие:
/kabel-1-kv_v_group-vvgng_t.php
/kabel-10-kv_v_group-apvbbshv.php
Пробовал так, но исключения тоже находит:
/[^\s].*(?!_)group-[^>]+.php/ig
const str = `
/group-avvsgng.php
/group-vvzb_hl.php
/kabel-1-kv_v_group-vvgng_t.php
/kabel-10-kv_v_group-apvbbshv.php
`
const matchResult = str.match(/\/group-.+\.php/g);
console.log(matchResult);
Организовать поиск символа /
, за которым следует одна и более букв group
, за которыми следует обязательная группа символов, состоящих из тире и одной и более букв -vvzb
, за которыми следует не обязательная группа символов, состоящих из символа подчёркивания и одной и более букв _hl
, за которыми следует точка .
, после которой следуют три буквы php
:
$str = '/group-avvsgng.php и /group-vvzb_hl.php и /position/kabel-1-kv_v_group-vvgng_t.php и /position/kabel-10-kv_v_group-apvbbshv.php';
$patt = '~/\pL+(?:-\pL+(?:_\pL+)?)+\.\pL{3}~';
preg_match_all($patt, $str, $arr);
var_dump($arr);
Результат:
array(1) {
[0]=>
array(2) {
[0]=>
string(18) "/group-avvsgng.php"
[1]=>
string(18) "/group-vvzb_hl.php"
}
}
UPD: Если требуется найти соответствия, начинающиеся со слова /group
, тогда можно сократить шаблон:
$str = '/group-avvsgng.php и /group-vvzb_hl.php и /position/kabel-1-kv_v_group-vvgng_t.php и /position/kabel-10-kv_v_group-apvbbshv.php';
$patt = '~/group\S+~';
preg_match_all($patt, $str, $arr);
var_dump($arr);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Может кто подскажет как правильно это сделать? Попробовал по принципу zarname_zar и products
Нужна помощь, как в этом коде сделать реализацию через ООП? Как сделать так чтобы класс получал данные из формы? Вот исходный код
Сейчас функция выводит мне весь список месяцов с годами типа: Январь 2016 ит