Conjuntos de caracteres em expressões regulares JavaScript
Os grupos de caracteres \d e \w não
são muito flexíveis. Mesmo uma tarefa simples como
encontrar todas as letras, mas não os dígitos -
não pode ser resolvida por eles. Para tais tarefas,
devem ser usados colchetes, que representam
a operação 'ou'.
Os colchetes substituem um caractere,
qualquer um dos listados dentro. Por exemplo,
assim: /x[abc]x/ - estamos dizendo que
nas extremidades devem haver letras x, e no meio
- um caractere: ou 'a', ou 'b',
ou 'c'.
Após os colchetes, podem ser escritos operadores
de repetição. Por exemplo, assim: /x[abc]+x/
- estamos dizendo que entre os x pode haver
qualquer quantidade dos caracteres 'a', 'b'
e 'c' - em qualquer combinação.
Pode-se não apenas listar caracteres, mas criar
grupos de caracteres, escrevendo entre dois caracteres
um hífen. Por exemplo, assim: [a-d] -
obtemos todos os caracteres de 'a' até
'd'.
Vamos ver com exemplos.
Exemplo
Neste exemplo, o padrão de busca é o seguinte:
entre os x, qualquer letra de 'a'
a 'z':
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
Como resultado, será armazenado na variável o seguinte:
'! ! ! x@x'
Exemplo
Neste exemplo, o padrão de busca é o seguinte:
entre os x, qualquer letra de 'a'
a 'k':
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
Como resultado, será armazenado na variável o seguinte:
'! ! xmx x@x'
Exemplo
Neste exemplo, o padrão de busca é o seguinte:
entre os x, qualquer letra de 'A'
a 'Z':
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
Como resultado, será armazenado na variável o seguinte:
'xax ! xcx x@x'
Exemplo
Neste exemplo, o padrão de busca é o seguinte:
entre os x, qualquer dígito de 0 a 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
Como resultado, será armazenado na variável o seguinte:
'xax ! ! ! x@x'
Exemplo
Neste exemplo, o padrão de busca é o seguinte:
entre os x, qualquer dígito de 3 a 7:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
Como resultado, será armazenado na variável o seguinte:
'xax x1x ! ! x@x'
Exemplo
Neste exemplo, o padrão de busca é o seguinte:
entre os x, qualquer letra de 'a'
a 'z' ou dígito de 1 a 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
Como resultado, será armazenado na variável o seguinte:
'! ! ! ! x@x'
Exemplo
Neste exemplo, o padrão de busca é o seguinte:
entre os x, qualquer letra de 'a'
a 'z' ou letra de 'A' a
'Z':
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
Como resultado, será armazenado na variável o seguinte:
'! ! ! x5x x@x'
Exemplo
Neste exemplo, o padrão de busca é o seguinte:
entre os x, qualquer letra de 'a'
a 'z' ou os dígitos 1, 2:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
Como resultado, será armazenado na variável o seguinte:
'! ! ! ! x3x'
Exemplo
Neste exemplo, o padrão de busca é o seguinte:
entre os x, letras de 'a' a 'z'
em quantidade de 1 ou mais:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
Como resultado, será armazenado na variável o seguinte:
'xx ! ! ! x123x xa3x'
Exemplo
Vamos fazer com que a quantidade de letras possa ser zero:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
Como resultado, será armazenado na variável o seguinte:
'! ! ! ! x123x xa3x'
Problemas práticos
Dada a string:
let str = 'aba aea aca aza axa';
Escreva uma expressão regular que encontre pelo seguinte
padrão: nas extremidades estão as letras 'a',
e entre elas - a letra 'b', 'e'
ou 'x'.
Dada a string:
let str = 'a1a a3a a7a a9a aba';
Escreva uma expressão regular que encontre pelo seguinte
padrão: nas extremidades estão as letras 'a',
e entre elas - um dígito de 3 a 6.
Dada a string:
let str = 'aba aea afa aha aga';
Escreva uma expressão regular que encontre pelo seguinte
padrão: nas extremidades estão as letras 'a',
e entre elas - uma letra de a a g.
Dada a string:
let str = 'aba aea afa aha aga';
Escreva uma expressão regular que encontre pelo seguinte
padrão: nas extremidades estão as letras 'a',
e entre elas - uma letra de a a f e de j a z.
Dada a string:
let str = 'aAa aea aEa aJa a3a';
Escreva uma expressão regular que encontre pelo seguinte
padrão: nas extremidades estão as letras 'a',
e entre elas - uma letra de a a f e de A a D.
Dada a string:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Escreva uma expressão regular que encontre pelo seguinte
padrão: nas extremidades estão as letras 'a',
e entre elas - letras latinas minúsculas,
sem afetar as demais.
Dada a string:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Escreva uma expressão regular que encontre pelo seguinte
padrão: nas extremidades estão as letras 'a',
e entre elas - letras latinas minúsculas e maiúsculas, sem afetar as demais.
Dada a string:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Escreva uma expressão regular que encontre pelo seguinte
padrão: nas extremidades estão as letras 'a',
e entre elas - letras latinas minúsculas
e dígitos, sem afetar as demais.