Os caracteres normais consistem em todos os caracteres impressos e não impressos que não são explicitamente especificados como metacaracters. Isso inclui todos os caracteres alfabetistas em maiúsculas e minúsculas, todos os números, todas as marcas de pontuação e alguns símbolos.
A expressão regular mais simples é um caractere normal único que corresponde ao próprio caractere na sequência pesquisada. Por exemplo, o padrão de caractere único 'a' pode corresponder à letra 'A' que aparece em qualquer lugar da string pesquisada. Aqui estão alguns exemplos de padrões de expressão regular de caracteres únicos:
/a/ /7/ /M/A expressão regular equivalente do VBScript de caracteres única é:
a 7 MVários caracteres únicos podem ser combinados para obter uma expressão maior. Por exemplo, a seguinte expressão regular JScript não é mais nada, mas uma expressão criada pela combinação de expressões de caracteres únicos 'a', '7' e 'm'.
/a7M/A expressão equivalente a VBScript é:
a7MObserve que não há operador de conexão aqui. Tudo o que você precisa fazer é deixar um personagem por trás de outro personagem.
Existem muitos metacaracters que precisam de processamento especial ao tentar combiná -los. Para combinar com esses caracteres especiais, você deve primeiro escapar deles, ou seja, usar uma barra de barra (/) na frente dele. A tabela a seguir dá a esses personagens especiais e seus significados:
| Personagens especiais | ilustrar |
|---|---|
| $ | Corresponde à posição final da sequência de entrada. Se a propriedade multilina do objeto regexp estiver definida, $ também corresponde a '/n' ou '/r'. Para corresponder ao próprio personagem $, use /$. |
| () | Marca as posições de início e final de uma subexpressão. As subexpressões podem ser obtidas para uso posterior. Para corresponder a esses personagens, use /(e /). |
| * | Corresponde à subexpressão anterior zero ou várias vezes. Para corresponder ao caractere *, use / *. |
| + | Corresponde à subexpressão anterior uma vez ou mais vezes. Para corresponder ao caractere +, use / +. |
| . | Combine qualquer caractere, exceto quebra de linha/n. Para corresponder., Use /. |
| [[ | Marque o início de uma expressão de suporte. Para corresponder [, use /[. |
| ? | Combina a subexpressão anterior zero ou uma vez, ou indica um qualificador não gredoso. Para combinar com o personagem? |
| / | Marque o próximo personagem como um personagem especial, ou um personagem primitivo, ou uma referência para trás, ou um caráter de fuga octal. Por exemplo, 'n' corresponde ao personagem 'n'. '/n' corresponde ao personagem Newline. A sequência '//' corresponde/, e '/(' corresponde (. |
| ^ | Combina a posição inicial da sequência de entrada, a menos que seja usado em uma expressão de suporte quadrado, momento em que significa que a coleção de caracteres não é aceita. Para corresponder ao próprio personagem, use / ^. |
| { | Marque o início da expressão do qualificador. Para corresponder a {, use /{. |
| | | Especifique uma escolha entre dois itens. Para corresponder |, use /|. |
Existem muitos caracteres não impressos úteis que devem ser usados ocasionalmente. A tabela a seguir mostra as seqüências de fuga usadas para representar esses caracteres não impressos:
| personagem | significado |
|---|---|
| /c x | Corresponde aos caracteres de controle especificados por x . Por exemplo, /cm corresponde a um retorno de controle-m ou de carro. O valor de x deve ser um de AZ ou AZ. Caso contrário, trate C como um personagem original 'C'. |
| /f | Combine uma quebra de página. Equivalente a /x0c e /cl. |
| /n | Combine um personagem de nova linha. Equivalente a /x0a e /cj. |
| /r | Combine um caractere de retorno de carruagem. Equivalente a /x0d e /cm. |
| /s | Combine todos os caracteres de espaço em branco, incluindo espaços, guias, quebras de página, etc. Equivalente a [/f/n/r/t/v]. |
| /S | Combine quaisquer caracteres que não sejam do WhitaSpace. Equivalente a [^/f/n/r/t/v]. |
| /t | Combine um caractere de guia. Equivalente a /x09 e /ci. |
| /v | Combine uma guia vertical. Equivalente a /x0b e /ck. |
O período (.) Corresponde a qualquer caractere impresso ou não impresso em uma string, exceto para quebras de linha (/n). As seguintes expressões regulares do JScript podem corresponder 'aac', 'abc', 'acc', 'adc' etc., e também pode corresponder 'a1c', 'a2c', ac 'e um#c':
/ac/A expressão regular equivalente do VBScript é:
acSe você tentar corresponder a uma string que contém o nome do arquivo, onde o período (.) Faz parte da sequência de entrada, você poderá prefixar um período na expressão regular com um caractere de barragem (/) para conseguir isso. Por exemplo, a seguinte expressão regular do JScript pode corresponder ao 'nome do arquivo.ext':
/filename/.ext/Para o VBScript, a expressão equivalente se parece com o seguinte:
filename/.extEssas expressões ainda são bastante limitadas. Eles só podem corresponder a qualquer caractere. Em muitos casos, é muito útil para combinar caracteres especiais de uma lista. Por exemplo, se o texto de entrada contiver títulos de capítulo indicado pelos números como capítulo 1, capítulo 2 e assim por diante, convém encontrar esses títulos de capítulo.
Você pode colocar um ou mais caracteres únicos em um suporte quadrado ([e]) para criar uma lista para corresponder. Se os caracteres forem fechados entre colchetes, a lista será chamada de expressão de suporte . Em colchetes, como em qualquer outro lugar, os caracteres comuns se representam, ou seja, eles combinam um de si mesmos que aparece no texto de entrada. A maioria dos personagens especiais perde seu significado quando estão nas expressões de suporte. Aqui estão algumas exceções:
Os caracteres contidos na expressão do suporte correspondem apenas a um único caractere em que a expressão do suporte está localizada na expressão regular. As seguintes expressões regulares do JScript podem corresponder ao 'Capítulo 1', 'Capítulo 2', 'Capítulo 3', 'Capítulo 4' e 'Capítulo 5':
/Chapter [12345]/Para corresponder ao mesmo título do capítulo no VBScript, use a seguinte expressão:
Chapter [12345]Observe que a relação posicional entre a palavra 'capítulo' e os seguintes espaços e os caracteres entre colchetes é corrigida. Portanto, a expressão do suporte é usada apenas para especificar um conjunto de caracteres que satisfazem a posição de um único caractere imediatamente após a palavra 'capítulo' e um espaço. Aqui está a nona posição de caracteres.
Se você deseja usar um intervalo em vez do próprio personagem para representar o personagem a ser correspondido, pode usar um hífen para separar os caracteres de início e final do intervalo. O valor do caractere de cada caractere determinará sua ordem relativa dentro de um intervalo. A seguinte expressão regular JScript contém uma expressão de intervalo equivalente à lista de parênteses mostrada acima.
/Chapter [1-5]/As expressões da mesma função no VBSCIPT são as seguintes:
Chapter [1-5]Se um intervalo for especificado dessa maneira, o início e os valores finais serão incluídos nesse intervalo. Uma coisa que precisa ser observada é que o valor inicial no Unicode Classing deve estar antes do valor final.
Se você deseja incluir hífens em uma expressão de suporte, deve usar um dos seguintes métodos:
[/-] [-az] [az-] [!--] [!-~]Da mesma forma, colocando um cuidador (^) no início da lista, você pode encontrar todos os caracteres que não estão na lista ou intervalo. Se o cuidador aparecer em outras partes da lista, ela se corresponde sem nenhum significado especial. A seguinte expressão regular do JScript corresponde ao título do capítulo com um número de capítulo superior a 5:
/Chapter [^12345]/Para VBScript, use:
Chapter [^12345]No exemplo mostrado acima, a expressão corresponderá a qualquer caractere numérico na nona posição, exceto 1, 2, 3, 4 ou 5. Então, 'Capítulo 7' é uma correspondência, e também é 'Capítulo 9'.
A expressão acima pode ser representada por um hífen (-). Para JScript:
/Chapter [^1-5]/Ou, para VBScript, é:
Chapter [^1-5]Um uso típico de expressões de suporte é especificar uma correspondência com qualquer caractere alfabético em maiúsculas ou minúsculas ou qualquer número. A seguinte expressão JScript fornece esta partida:
/[A-Za-z0-9]/A expressão equivalente a VBScript é:
[A-Za-z0-9]