Как извлечь символ из целого числа и вернуть его целиком в PHP - PullRequest
0 голосов
/ 06 января 2020

Я использовал этот код для извлечения целого числа. Мне нужно вернуть все слово.

$str = 'Hello World - A45565656676 - Test Case';
preg_match_all('!\d+!', $str, $matches);
print_r($matches);

ВЫХОД:

Array ( [0] => Array ( [0] => 45565656676 ) )

Мне нужно это

Array ( [0] => A45565656676 )

Ответы [ 3 ]

2 голосов
/ 06 января 2020

Я использовал это регулярное выражение

([A-Z]\d+)

1-я группа захвата ([A-Z]\d+)

  • Соответствует одному символу, представленному в списке ниже [A-Z]
  • AZ один символ в диапазоне от A (индекс 65) до Z (индекс 90) (с учетом регистра)
  • \d+ соответствует di git (равно [0-9 ])
  • + Квантификатор - Сопоставляет от одного до неограниченного количества раз столько раз, сколько возможно, возвращая при необходимости (жадный)

Кроме того, вам не нужно preg_match_all() здесь, используйте preg_match() ПРИМЕР

$str = 'Hello World - A45565656676 - Test Case';
preg_match('/([A-Z]\d+)/', $str, $matches);
print_r($matches[0]);
1 голос
/ 06 января 2020

Вы можете сделать это другим способом:

$str = "Hello World - A45565656676 - Test Case";
print_r(explode(" - ", $str)[1]); // A45565656676

Узнать больше: https://www.php.net/manual/pt_BR/function.explode.php

0 голосов
/ 06 января 2020

В этом случае вы можете использовать explode().

Разнесение:

Функция explode() разбивает строку на массив.

Примечание: Параметр «разделитель» не может быть пустой строкой.

Примечание: Эта функция является двоичной -безопасно.

<?php
    $str = 'Hello World - A45565656676 - Test Case';

    $matches=explode("-",$str)[1];
    print_r($matches);
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...