Код: Выделить всё
FooBar(,[0-9]{7}[0-9A-F]{8})+Код: Выделить всё
,my regex для захвата это/^c7 (, [0-9] {7} [0-9a-f] {8})+$/, какой вид работы. При использовании в preg_match_all он возвращает массив с двумя записями, первая, как и ожидалось, входная строка, однако, во втором массиве есть только одна запись, последний сопоставленный кусок. (см. Пример) < /em> < /p>
Мне нужно применить все куски, сопоставленные группой захвата. Я провел некоторое исследование и нашел этот ответ, который был примерно такой же проблемой: https://stackoverflow.com/a/2205009/2989952, поэтому я скорректировал свою репутацию к/(, [0-9] {7} [0-9a-f] {8})+$/, но я все еще получаю только один матч. Это можно проверить на Regex101.com. I then experimented some more, and found, that if I change the input string, to contain a space (or any not matched character for that matter), between the chunks, like this: C7,22801422CFE0F63 ,2280141C5EF0F63 ,22801402EFD0F63 ,2280138C5ED0F63 ,228024329897530 , 228023829877530 и снова настроить переподключение для/([0-9] {7} [0-9A-F] {8})+/ Это делает именно так, как это предназначено! пробелы между ними? Если так, как? https://regex101.com/r/ilkzjd/1
whitespace/random Cars https://regex101.com/r/mimbgz/1
ogle : поведение второго, одному с пробелами, но не добавляя пробелы (соответственно не совпадающие символы).
edit 2 (hacky relode). /> Я нашел решение, учитывая это https://stackoverflow.com/a/3513858/29899952 Ответ. Regex/(?:,) ([0-9] {7} [0-9a-f] {8})/ работает для меня. https://regex101.com/r/leefzv/1. Как бы я все еще хотел бы, чтобы соответствовать начальному foobar . Как указывает, что входящая строка должна быть совпадает с этим перепонку вообще. 'C7,22801422CFE0F63,2280141C5EF0F63,22801402EFD0F63,2280138C5ED0F63,228024329897530 228023829877530'
Подробнее здесь: https://stackoverflow.com/questions/481 ... whitespace
Мобильная версия