"\D " na expressão regular significa um dígito?
123
, \d
fósforos 1
e 3
mas não 2
. Estava a pensar se o {[[2]} corresponde a um dígito que satisfaça que tipo de requisito? Estou a falar da regex estilo Python.
o 'plugin' de expressão Regular do Gedit está a usar a expressão regular do estilo Python. Eu criei um arquivo de texto com seu conteúdo sendo
123
apenas 1
e {[4] } são acompanhados pela expressão regular \d
; 2
não é.
geralmente para uma sequência de números de algarismos sem outros caracteres no meio, apenas os dígitos de ordem ímpar são correspondências, e os dígitos de ordem pares não são. Por exemplo em 12345
, as correspondências são 1
, 3
e 5
6 answers
[0-9]
nem sempre é equivalente a \d
. Em python3, [0-9]
corresponde apenas a 0123456789
caracteres, enquanto \d
corresponde a [0-9]
e a outros caracteres, por exemplo, números árabes Orientais ٠١٢٣٤٥٦٧٨٩
.
\d
corresponde a qualquer dígito na maioria dos estilos de gramática regex, incluindo python.
Referência Regex
Na regex estilo Python, \d
corresponde a qualquer dígito individual. Se você está vendo algo que não parece fazer isso, por favor, forneça o Completo que você está usando, em vez de apenas descrever esse símbolo em particular.
>>> import re
>>> re.match(r'\d', '3')
<_sre.SRE_Match object at 0x02155B80>
>>> re.match(r'\d', '2')
<_sre.SRE_Match object at 0x02155BB8>
>>> re.match(r'\d', '1')
<_sre.SRE_Match object at 0x02155B80>
\\d{3}
corresponde a qualquer sequência de três dígitos em Java.
1
2
3
- mas apenas fósforos ímpares são realçados, para distingui-lo do caso quando toda a sequência 123
é igualada.
A maioria dos consoles regex realçam fósforos contíguos com cores diferentes, mas devido à configuração do plugin, limitações de terminal ou por alguma outra razão, apenas todos os outros grupos podem ser realçados no seu caso.
Informação relativa a. net / c#:
Algarismo Decimal: \d \D corresponde a qualquer algarismo decimal. É equivalente ao padrão de expressão regular \p{Nd}, que inclui os dígitos decimais padrão 0-9, bem como os dígitos decimais de uma série de outros conjuntos de caracteres.
Se o comportamento conforme com o ECMAScript for especificado, \D é equivalente a [0-9]. Para mais informações sobre expressões regulares ECMAScript, veja a secção "comportamento de correspondência ECMAScript" na página Regular Opções De Expressão.