Что такое двойной плюс в регулярных выражениях?

Я видел это в некотором PHP script:

[a-zA-Z0-9_]++

Что означает двойной плюс?

Ответы

Ответ 1

Это Possessive Quantifier.

В основном это означает, что если механизм регулярных выражений не подходит позже, он не вернется и попытается отменить совпадения, которые он сделал здесь. В большинстве случаев он позволяет двигателю работать намного быстрее и может дать вам некоторый контроль там, где он вам нужен, что очень редко встречается для большинства применений.