Âncoras
Exemplos anteriores tópicos nesta seção somente têm sido preocupados com Localizando títulos de capítulo.Qualquer ocorrência da seqüência capítulo seguido por um espaço e um número pode ser um título de capítulo real ou também pode ser uma referência cruzada para outro capítulo.Como títulos de capítulo true sempre aparecem no início de uma linha, pode ser útil planejar uma forma de localizar apenas os títulos e não as referências cruzadas.
Como âncoras funcionam
Âncoras fornecem esse recurso.Âncoras permitem que você corrigir uma expressão regular para o início ou participante de uma linha.Eles também permitem que você crie expressões regulares que ocorrem dentro de uma palavra no início de uma palavra ou no participante de uma palavra.A tabela a seguir contém a lista de expressão regular âncoras e seus significados:
Caracterer |
Descrição |
---|---|
^ |
Corresponde à posição no início da seqüência de caracteres de entrada.Se o RegExp objeto Várias linhaspropriedade é conjunto, ^ também corresponde à posição \n ou \r a seguir. |
$ |
Corresponde à posição no participante da seqüência de caracteres de entrada.Se o RegExp objeto Várias linhaspropriedade é conjunto, $ também corresponde à posição anterior \n ou \r. |
\b |
Coincide com um limite de palavra, ou seja, a posição entre uma palavra e um espaço. |
\B |
Coincide com um limite nonword. |
Não é possível usar um quantificador com uma ancorar.Uma vez que você não tenha mais de uma posição imediatamente antes ou depois de um limite de nova linha ou palavra, expressões, sistema autônomo ^ * não são permitidos.
Para fazer a correspondência com texto no início de uma linha de texto, use o ^ caractere no início da expressão regular.Não confunda este uso da ^ com o uso dentro de uma expressão entre colchetes.
Para fazer a correspondência com texto no participante de uma linha de texto, use o caractere $ no participante da expressão regular.
Para usar âncoras ao procurar títulos de capítulo, a seguinte expressão regular corresponde a um título de capítulo com não mais de dois dígitos seguintes e que ocorre no início de uma linha:
/^Chapter [1-9][0-9]{0,1}/
Não apenas um título de capítulo true ocorrer no início de uma linha, também é o único texto na linha.Ele ocorre no início da linha e também no participante da mesma linha.A expressão a seguir garante que a correspondência especificada corresponde apenas a capítulos e não faz referência.Ele faz isso criando uma expressão regular que corresponda apenas no início e no participante de uma linha de texto.
/^Chapter [1-9][0-9]{0,1}$/
Limites das palavras de correspondência é um pouco diferente, mas adiciona um recurso muito importante para expressões regulares.Um limite de palavra é a posição entre uma palavra e um espaço.Um limite nonword é qualquer Outros posição.A expressão a seguir corresponde os três primeiros caracteres do palavra Chapter como os caracteres aparecem após um limite de palavra:
/\bCha/
A posição do operador \b é crítica.Se estiver no início de uma seqüência de caracteres a ser correspondido, ele procura a correspondência no início da palavra.Se estiver no participante da seqüência de caracteres, ele procura a correspondência no participante da palavra.Por exemplo, a expressão a seguir corresponde a seqüência de caracteres ter na palavra capítulo porque ela aparece antes de um limite de palavra:
/ter\b/
A expressão a seguir corresponde a seqüência de caracteres APT sistema autônomo ele ocorre no capítulo, mas não sistema autônomo ocorre em aptidão:
/\Bapt/
A seqüência de caracteres APT ocorre em um limite de nonword no palavra Chapter mas em um limite de palavra da palavra aptidão.Para o operador de limite \B nonword, posição não é importante porque a correspondência não é relativa ao início ou no participante de uma palavra.