Skip to content

Instantly share code, notes, and snippets.

@PedroHLC
Last active January 9, 2023 21:35
Show Gist options
  • Save PedroHLC/89678b077b7cea0cefcd to your computer and use it in GitHub Desktop.
Save PedroHLC/89678b077b7cea0cefcd to your computer and use it in GitHub Desktop.
Regex em Pedaços
Comentarios:
\#.*\n
\/\*(?:[^\*\\]|\\.)*\*\/
Strings:
"(?:[^"\\\n]|\\.)*"
'(?:[^'\\\n]|\\.)*'
Regex:
\/(?:[^\/\\\n]|\\.)*\/[gmixXsuUAJ]*
Heredocs:
\<{3}(?'end'\w+)\n(?'heredoc'.*)\n\k'end'
(?![\w\_\d])
Módulos:
[\w\_]+(?:\:\:[\w\_]+)*\:\:[\w\_]+
Comparações:
[\=\!\>\<\~]\=
Operações:
[\*\/\^]\=
Hashes e valor de uma referencias:
[\=,\-]\>
Numeros hexadecimais ou decimais:
(?<![\w\_\d])
(?:0[xX](?:[a-fA-F0-9]{2})+|\d*\.\d+\f?)
(?![\w\_\d])
Além de identificar pontuações, por rodar essa expressão antes vai separar esses caracteres dos textos:
(?<!\\)[\\\/\(\)\{\}\[\]\.\=\*\^\-\+\,\;\n]
Tipos complexos:
[\w\_]+\<[\w\t\,\<\>\_]+
Todos os nomes:
[\$\@\:]?[\w\_]+
Qualquer token que restou (individualmente):
\S
Indentação (requer flag 'm'):
^\s+
Qualquer whitespace que sobrou (individualmente):
\s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment