"\D " na expressão regular significa um dígito?

Encontrei isto em 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

Author: Amal Murali, 2011-06-25

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 ٠١٢٣٤٥٦٧٨٩.

 489
Author: Kirill Polishchuk, 2016-10-25 22:19:47

\d corresponde a qualquer dígito na maioria dos estilos de gramática regex, incluindo python. Referência Regex

 15
Author: Will, 2018-02-02 12:49:38

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>
 11
Author: Amber, 2011-06-25 17:36:18

\\d{3} corresponde a qualquer sequência de três dígitos em Java.

 8
Author: srajan, 2014-06-18 18:24:59
Isto é só um palpite, mas acho que o teu editor corresponde a cada dígito.- 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.

 6
Author: Doghouse87, 2015-02-01 16:32:26

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.

Informação: https://docs.microsoft.com/en-us/dotnet/standard/base-types/character-classes-in-regular-expressions#decimal-digit-character-d

 1
Author: juFo, 2020-03-05 08:15:56