Buggy or strange behaviour matching mutable data with `re`
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
Bug report
Bug description:
import re
data = bytearray(b'1')
match = re.match(b'1', data)
print(match[0]) # b'1'
data[:] = b'2'
print(match[0]) # b'2'
If you match against mutable data (e.g., a bytearray) and change that data after matching, the matched values reported by the match change.
Is this a) a bug or b) strange behavior that should be pointed out in the docs (or c) none of the above)?
CPython versions tested on:
3.13
Operating systems tested on:
Linux
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza ejecutando el reproductor proporcionado para Python 3.13 con un bytearray mutable e inspecciona los valores de coincidencia resultantes después de la mutación. Lee el comportamiento relevante de re y la cobertura existente para determinar si se trata de un error de implementación o de un comportamiento documentado. Se considera terminado cuando el comportamiento tiene una resolución clara, con la cobertura de regresión o la documentación correspondiente, según proceda.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- backend
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100