Ребята У меня это регулярное выражение в Perl, которое я не понимаю.
s/\w+$/($`!)$&/;
Исходная строка была
"huge dinosaur"
После выполнения этого регулярного выражения строка теперь:
"huge (huge !)dinosaur"
Я совершенно не понимаю, как это произошло. И я не понимаю, что там делает амперсанд. Я понимаю $`, но почему он там, откуда я знаю, что $` принимает значение перед совпадением, что я ничего не думаю, потому что не существует соответствующего выражения перед этим регулярным выражением выше.
Если кто-то может связать меня с каким-то очень полезным пособием по регулярным выражениям на Perl, это действительно оценено.
Спасибо
EDIT: Теперь я понимаю, что означает амперсанд, он сохраняет совпадение, а $`сохраняет значение перед совпадением. Теперь то, что я не понимаю снова, - это вся эта часть:
($`!)$&
как эта часть стала
(huge !)