Некоторое время назад я видел в regex (по крайней мере, на PHP), вы можете сделать группу захвата, которая не будет захвачена, добавив ?:.
Пример
$str = 'big blue ball';
$regex = '/b(ig|all)/';
preg_match_all($regex, $str, $matches);
var_dump($matches);
Выходы...
array(2) {
  [0]=>
  array(2) {
    [0]=>
    string(3) "big"
    [1]=>
    string(4) "ball"
  }
  [1]=>
  array(2) {
    [0]=>
    string(2) "ig"
    [1]=>
    string(3) "all"
  }
}
В этом примере мне все равно, что было сопоставлено в скобках, поэтому я добавил ?: ('/b(?:ig|all)/') и получил выход
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(3) "big"
    [1]=>
    string(4) "ball"
  }
}
Это очень полезно - по крайней мере, я так думаю. Иногда вы просто не хотите загромождать свои матчи ненужными значениями.
Я пытался найти документацию и официальное название для этого (я называю это не захватывающей группой, но я думаю, что слышал ее раньше).
Будучи символами, для Google это было сложно.
Я также просмотрел ряд справочных руководств regex без упоминания.
Будучи префикс с ?, и появляясь в первых символах внутри круглых скобок, я должен полагать, что это имеет какое-то отношение к lookaheads или lookbehinds.
Итак, каково собственное имя для них, и где я могу узнать больше?
