Sr. Não. Padrão e Descrição
1

^

Corresponde ao início da linha.

2

$

Corresponde ao fim da linha.

3

.

Corresponde a qualquer caractere único, exceto nova linha. Usar a opção m permite que ele corresponda a nova linha também.

4

[...]

Corresponde a qualquer caractere único entre colchetes.

5

[^...]

Corresponde a qualquer caractere único que não esteja entre colchetes

6

re*

Corresponde a 0 ou mais ocorrências da expressão anterior.

7

re+

Corresponde a 1 ou mais ocorrências da expressão anterior.

8

re?

Corresponde a 0 ou 1 ocorrência da expressão anterior.

9

re{ n}

Corresponde exatamente ao número n de ocorrências da expressão anterior.

10

re{ n,}

Corresponde a n ou mais ocorrências da expressão anterior.

11

re{ n, m}

Corresponde a pelo menos n e no máximo m ocorrências da expressão anterior.

12

a| b

Corresponde a a ou b.

13

(re)

Agrupa expressões regulares e lembra o texto correspondente.

14

(?imx)

Alterna temporariamente as opções i, m ou x em uma expressão regular. Se estiver entre parênteses, apenas essa área é afetada.

15

(?-imx)

Desativa temporariamente as opções i, m ou x em uma expressão regular. Se estiver entre parênteses, apenas essa área é afetada.

16

(?: re)

Agrupa expressões regulares sem lembrar o texto correspondente.

17

(?imx: re)

Alterna temporariamente as opções i, m ou x entre parênteses.

18

(?-imx: re)

Desativa temporariamente as opções i, m ou x entre parênteses.

19

(?#...)

Comente.

20

(?= re)

Especifica a posição usando um padrão. Não tem alcance.

21

(?! re)

Especifica a posição usando negação de padrão. Não tem alcance.

22

(?> re)

Corresponde ao padrão independente sem retrocesso.

23

\w

Corresponde a caracteres de palavras.

24

\W

Corresponde a caracteres que não sejam palavras.

25

\s

Corresponde ao espaço em branco. Equivalente a [\ t \ n \ r \ f].

26

\S

Corresponde a espaços não brancos.

27

\d

Corresponde aos dígitos. Equivalente a [0-9].

28

\D

Corresponde a nondigits.

29

\A

Corresponde ao início da string.

30

\Z

Corresponde ao final da string. Se houver uma nova linha, ela corresponderá imediatamente antes da nova linha.

31

\z

Corresponde ao final da string.

32

\G

As partidas apontam onde a última partida terminou.

33

\b

Corresponde aos limites da palavra quando fora dos colchetes. Corresponde ao backspace (0x08) quando entre colchetes.

34

\B

Corresponde a limites não-palavra.

35

\n, \t, etc.

Corresponde a novas linhas, retornos de carro, guias, etc.

36

\1...\9

Corresponde à enésima subexpressão agrupada.

37

\10

Corresponde à enésima subexpressão agrupada, se já houver correspondência. Caso contrário, refere-se à representação octal de um código de caractere.

Sr. Não. Exemplo e descrição
1

/ruby/

Corresponde a "ruby".

2

¥

Corresponde ao sinal de iene. Os caracteres multibyte são suportados no Ruby 1.9 e Ruby 1.8.

Sr. Não. Exemplo e descrição
1

/[Rr]uby/

Corresponde a "Ruby" ou "ruby".

2

/rub[ye]/

Corresponde a "ruby" ou "rube".

3

/[aeiou]/

Corresponde a qualquer vogal minúscula.

4

/[0-9]/

Corresponde a qualquer dígito; igual a / [0123456789] /.

5

/[a-z]/

Corresponde a qualquer letra ASCII minúscula.

6

/[A-Z]/

Corresponde a qualquer letra ASCII maiúscula.

7

/[a-zA-Z0-9]/

Corresponde a qualquer uma das opções acima.

8

/[^aeiou]/

Corresponde a qualquer coisa que não seja uma vogal minúscula.

9

/[^0-9]/

Corresponde a qualquer coisa diferente de um dígito.

Sr. Não. Exemplo e descrição
1

/./

Corresponde a qualquer caractere, exceto nova linha.

2

/./m

No modo multilinha, também corresponde a nova linha.

3

/\d/

Corresponde a um dígito: / [0-9] /.

4

/\D/

Corresponde a um não dígito: / [^ 0-9] /.

5

/\s/

Corresponde a um caractere de espaço em branco: / [\ t \ r \ n \ f] /.

6

/\S/

Corresponde a espaços não em branco: / [^ \ t \ r \ n \ f] /.

7

/\w/

Corresponde a um único caractere de palavra: / [A-Za-z0-9 _] /.

8

/\W/

Corresponde a um caractere diferente de palavra: / [^ A-Za-z0-9 _] /.

Sr. Não. Exemplo e descrição
1

/ruby?/

Corresponde a "rub" ou "ruby": o y é opcional.

2

/ruby*/

Corresponde a "rub" mais 0 ou mais ys.

3

/ruby+/

Corresponde a "esfregar" mais 1 ou mais ys.

4

/\d{3}/

Corresponde exatamente a 3 dígitos.

5

/\d{3,}/

Corresponde a 3 ou mais dígitos.

6

/\d{3,5}/

Corresponde a 3, 4 ou 5 dígitos.

Isso corresponde ao menor número de repetições -

Sr. Não. Exemplo e descrição
1

/<.*>/

Repetição gananciosa: corresponde a "<ruby> perl>".

2

/<.*?>/

Não ganancioso: corresponde a "<ruby>" em "<ruby> perl>".

Sr. Não. Exemplo e descrição
1

/\D\d+/

Nenhum grupo: + repete-se \ d

2

/(\D\d)+/

Agrupado: + repete \ D \ d par

3

/([Rr]uby(, )?)+/

Corresponde a "Ruby", "Ruby, ruby, ruby" etc.

Isso corresponde a um grupo anteriormente correspondido novamente -

Sr. Não. Exemplo e descrição
1

/([Rr])uby&\1ails/

Corresponde a ruby ​​& rails ou Ruby & Rails.

2

/(['"])(?:(?!\1).)*\1/

String entre aspas simples ou duplas. \ 1 corresponde a tudo o que o primeiro grupo correspondeu. \ 2 corresponde ao que o segundo grupo correspondeu, etc.

Sr. Não. Exemplo e descrição
1

/ruby|rube/

Corresponde a "ruby" ou "rube".

2

/rub(y|le))/

Corresponde a "rubi" ou "rublo".

3

/ruby(!+|\?)/

"ruby" seguido por um ou mais! ou um?

Ele precisa especificar a posição de correspondência.

Sr. Não. Exemplo e descrição
1

/^Ruby/

Corresponde a "Ruby" no início de uma string ou linha interna.

2

/Ruby$/

Corresponde a "Ruby" no final de uma string ou linha.

3

/\ARuby/

Corresponde a "Ruby" no início de uma string.

4

/Ruby\Z/

Corresponde a "Ruby" no final de uma string.

5

/\bRuby\b/

Corresponde a "Ruby" no limite de uma palavra.

6

/\brub\B/

\ B não é um limite de palavra: corresponde a "esfregar" em "rube" e "ruby", mas não sozinho.

7

/Ruby(?=!)/

Corresponde a "Ruby", se seguido por um ponto de exclamação.

8

/Ruby(?!!)/

Corresponde a "Ruby", se não for seguido por um ponto de exclamação.

Sr. Não. Exemplo e descrição
1

/R(?#comment)/

Corresponde a "R". Todo o resto é um comentário.

2

/R(?i)uby/

Não diferencia maiúsculas de minúsculas enquanto corresponde a "uby".

3

/R(?i:uby)/

O mesmo que acima.

4

/rub(?:y|le))/

Grupo apenas sem criar \ 1 referência anterior.