Если вы взяли грамматику grep regexp, а не egrep, или грамматику sed regexp и использовали, что вы должны использовать безопасное подмножество на многих платформах и инструментах.
Единственная вещь, которая может вас укусить, - это когда вы переходите между реализациями регулярных выражений с использованием конечных автоматов (FSA) и реализациями с возвратом, например. реализации квантификатора будут варьироваться от grep до Perl.
Реализации на основе FSA найдут самое длинное совпадение, начиная с первой возможной позиции. Отступающие найдут смещенный влево первый матч, начиная с первой возможной позиции. То есть он будет пробовать каждую ветку в порядке в шаблоне, пока не будет найдено совпадение.
Рассмотрим строку "xyxyxyzz"
и шаблон "(xy)*(xyz)?"
. Двигатели на основе FSA будут соответствовать самой длинной из возможных подстрок, "xyxyxyz"
. Механизмы на основе обратного слежения будут соответствовать первой подстроке, смещенной влево, "xyxyxy"
.