Почему регулярное выражение Python дает другой результат для следующих 2 квантиров?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему регулярное выражение Python дает другой результат для следующих 2 квантиров?

Сообщение Anonymous »

, исследуя семантическую разницу между квантификаторами на основе длины и количества p>

Код: Выделить всё

Python 3.10.16 (main, Dec  7 2024, 13:31:33) [Clang 16.0.0 (clang-1600.0.26.6)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> re.sub('(.{4,5})+', '-', '1234123412341234')
'-4'
>>> re.sub('(.{4,5})*', '-', '1234123412341234')
'--4-'
>>>
< /code>
И я смог воспроизвести это в PHP, предположительно, потому что они оба используют PCR за спиной: < /p>
$ php -a
Interactive shell

php > echo preg_replace('/(.{4,5})+/', '-', '1234123412341234');
-4
php > echo preg_replace('/(.{4,5})*/', '-', '1234123412341234');
--4-
php >
Как получилось?

Подробнее здесь: https://stackoverflow.com/questions/794 ... wing-2-qua
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»