Большинство движков регулярных выражений являются жадными и стараются максимально соответствовать. Например, если вы вводите «hello world on stack overflow», то [a-z]+\s
будет соответствовать до начала «переполнения», то есть «hello world on stack».
Противоположность жадности - ленивый . Если вы используете вход «hello world on stack overflow» в качестве ввода и [a-z]+?\s
, он будет соответствовать только «hello».
Тем не менее, регулярное выражение всегда начинается слева направо, пока не должно вернуться назад. То есть, в вашем примере, он сначала будет искать букву или цифру, а затем будет продолжать искать буквы и цифры, следующие за первой, затем за некоторыми пробелами и, в конце концов, знаком равенства.