Гру
16
дужки, які тільки групують
категорія: php
Поговоримо про регулярні вирази (регулярку).
Візьмемо приклад:
$number = '+380670000000';
$aReturn = array();
$exp = "/^\+?3?((8039|8050|8063|8066|8067|8068|8093|8095|8096|8097|8098|8099)\d{7})$/";
preg_match($exp, $number, $aReturn);
print_r($aReturn);
Тут ми перевіряємо на валідність мобільний номер.
В результаті получимо:
Array
(
[0] => +380670000000
[1] => 80670000000
[2] => 8067
)
А навіщо нам $aReturn[2]???
Отже задача:
Потрібно в регулярці згрупувати елементи, але не потрібно їх запам’ятовувати для видачі.
Вихід із ситуації:
$number = '+380670000000';
$aReturn = array();
$exp = "/^\+?3?((?:8039|8050|8063|8066|8067|8068|8093|8095|8096|8097|8098|8099)\d{7})$/";
preg_match($exp, $number, $aReturn);
print_r($aReturn);
В результаті получимо:
Array
(
[0] => +380670000000
[1] => 80670000000
)
А відрізняється лише ?:
Тобто потрібно поставити ?: одразу після відкритих дужок, щоб вони не запам’ятовувались.
| Share | В Мой Мир |
