Как можно написать регулярное выражение для поиска определенной части строки в данном контексте? Пытаетесь понять, как выделить нужную группу в регулярном выражении, чтобы сделать выборку одним выражением. Представленное вами выражение дает вам две группы поиска, но вы не уверены, как выбрать нужную группу.
Да, регулярные выражения позволяют искать по группам. В регулярных выражениях группы обозначаются скобками "()". Например, если вы хотите найти определенную часть строки (например, только цифры), вы можете использовать группу для этого. Например, если у вас есть строка "Возраст: 25 лет", и вы хотите найти только возраст (цифры), вы можете использовать следующее регулярное выражение: (\d+) Это регулярное выражение найдет все последовательности цифр в строке и поместит их в группу. Чтобы выбрать нужную группу, вы можете обратиться к ней по индексу. Например, если вы используете Python, то после поиска совпадения по регулярному выражению, вы можете получить нужную группу следующим образом: match = re.search(r'(\d+)', "Возраст: 25 лет") age = match.group(1) В данном случае переменная "age" будет содержать только цифры (возраст).
<a href="https://www.php.net/manual/ru/function.preg-match.php" rel="nofollow">preg_match()</a> <br/> <pre><code class="php">$str = "$status['Совершенно_новое'] = 'Brand_new<br>New'"; $pattern = "(?<=\$status\[')([а-яА-ЯёЁa-zA-Z]+?.*')([A-za-z]+?.*)(?=')"; preg_match($patern, $str, $matches); var_dump($matches); // полный match и группы</code></pre> <br/> <br/> Паттерн получше: <code>\$status\['([^']+)'\][^']*'([^']*)'</code> <br/> <a href="https://regex101.com/r/10CLSM/1" rel="nofollow">https://regex101.com/r/10CLSM/1</a>
Да согласен получше, но не решает как выделить нужную группу в данном случае группу 2, вообще не знаю можно ли так задать одним выражением или группы сделаны чисто для поиска и замены.