Considérons le schéma suivant: /(x ^ | y) z /Le métacaractère d'ancrage ^ est utilisé pour correspondre à l'expression régulière au début de la chaîne disponible. Le schéma ci-dessus correspond à «XZ» au début de la chaîne disponible ou «yz 'importe où dans la chaîne disponible. Les expressions suivantes correspondent à: «xy 5678" = ~ /(^ x | y) z /= ~ /(^ x | y) "34 YZ 56 G" z /Plus sur la sous Strings avec les parties communes Imaginez que vous voulez faire correspondre «livre» ou «comptable» ou «comptables». La sous-chaîne "livre" se produit dans les trois phrases (sous cordes).
La sous-chaîne "comptable" se produit dans deux des phrases; et les teneurs de livres de sous-chaîne se produisent que dans une seule des phrases. Notre objectif dans cette section est de développer un modèle efficace pour correspondre sous cordes comme les trois ci-dessus. Vous pouvez faire cela: /livre | comptable | comptables /Le problème ici (l'inefficacité) est que vous devez taper "livre" trois fois et vous devez taper «gardien» deux fois. Le schéma suivant est efficace: /livre (gardien (s |) |) /Tout d'abord, notez ici que vous avez un groupe imbriqué; groupes peuvent être imbriqués.
Il ya aussi deux méta-caractères de l'alternance, |; un à l'intérieur d'un groupe imbriqué intérieure; l'autre à l'intérieur du groupe extérieur. Dans le groupe imbriqué intérieure, Perl a à choisir entre "s" ou rien. Dans le groupe externe, Perl doit encore choisir entre «détenteur (s |)" ou rien. "livre" sera toujours choisi. De cette façon, Perl correspondre «réserver», «comptable» ou «comptables». La situation ici est similaire à la première situation ci-dessus, mais est plus complexe ici.
Capture Matchs Les méta-caractères de regroupement (), qui est, les parenthèses servent également un autre but complètement différent: ils permettent la capture de sous chaînes de caractères dans la chaîne disponibles qui correspondent. Eh bien, la tendance est généralement pas un mot exact ou une expression exacte. Après la mise en correspon