Perl обрабатывает группу как единое целое. Группа по себе не служит никакой цели. Это становится важным, когда используется в сочетании с другими методами рисунка. Существует и другое применение, которое мы увидим ниже. Sub Строки с общих частей Представьте себе, что у вас есть книжный магазин, где есть бухгалтер и книжная полка. Здесь бухгалтер это человек, который ухаживает за книгами. И представьте себе, что у вас есть какие-либо из следующих доступных строк: $ availStr =; "Существует книжная полка в моем магазине." $ availStr = "У меня есть бухгалтер.
"; $ availStr = "Бухгалтер заботится о книжной полке."; В коде, вы можете не знать, которые доступны строка присутствует (строка возможно, были взяты из где-то и присваивается переменной); Однако, предположим, что ваш интерес, чтобы знать, есть ли в книжные полки или бухгалтер в теме строку. Регулярное выражение для этого могут быть: /книжная полка | бухгалтер /Обратите внимание, что в приведенном выше регулярном выражении, мы должны ввести слово, "книга" в два раза.
Мы можем избежать этого двойного печатать с помощью следующее регулярное выражение: /книгу (срок | хранитель) /Это Второе выражение является более эффективным, потому что мы не должны ввести слово, "книга" в два раза. Во втором мы имеем группу: (полка | хранитель). Perl обрабатывает группу как единое целое. Кроме того, в этой группе, Perl должен выбрать "полки" или "эконом". Таким образом, Perl, придется искать для книжной полки или бухгалтером в группе. Следующее выражение производит матч.
$ availStr = ~ /книга (полки | хранитель) /Здесь $ availStr может быть любой из указанных выше последовательностей. Здесь слово "книга" является общим для обоих слов и первая часть обоих слов. Вы можете иметь подменю строку, вторая общая часть двух фраз; то же самое относится и метод, но в этот раз группа находится в передней; как это: /(не общим | не общим) общее /Шаблон может действительно с