"dois" tenha sido capturado, e é o único elemento da matriz. Para fazer com que um grupo de não captura, use a seguinte sintaxe: (?: GroupContent), incluindo modificadores em grupos de não captura Vimos como você pode incorporar modificadores em um regex. Você pode querer incluir um modificador em um grupo não-captura. Há duas maneiras de fazer isso. Digamos que você deseja incluir o modificador, eu no sub grupo de não captura "(?: Um)" acima. Você pode fazê-lo como este: um) A expressão a seguir produz uma partida (:( i?): ". Este é um e que é dois" = ~ /(?:(?i)one).
*(two)/Você pode usar o código a seguir para testar: use strict; if (". Este é um e que é dois" = ~ /(?:(?i)one).*(two)/) {print "Matched \\ n"; } Else {print "Not Matched \\ n"; } Modificadores em Grupos Dissemos que colocar um modificador em um regex é o mesmo que ter o modificador apenas no final da regex. A pergunta que você pode ter é a seguinte:.. "Se o modificador está em um grupo, ele teria seu efeito apenas no grupo ou em toda a regex Vamos apenas escrever quatro roteiros curtos para verificar que este é o primeiro: use strict ; if (". Este é um e que é dois" = ~ /((?i)one).
*(two)/) {print "Matched \\ n";} else {print "\\ n Não Matched";} A regex acima é "/((?i)one).*(two)/". Note-se que na seqüência de caracteres disponíveis, "UM" é em maiúsculas. Matching ocorre no código acima. Aqui estamos lidando com uma captura . grupo Considere o seguinte código ainda com um grupo de captura: use strict; if (". Este é um e que é dois" = ~ /((?i)one).*(two)/) {print "Matched \\ n ";} else {print" \\ n Não Matched ";} A regex acima ainda é" /((?i)one).*(two)/ONE "ainda está no" Note-se que na seqüência de caracteres disponíveis, ".
maiúsculas e "dois", desta vez é no caso superior Matching não ocorre no código acima No regex "dois" está em baixa caso;.. é por isso que a correspondência não ocorre. Os dois programas acima lidar com a captura de grupo, seria