El símbolo de acento circunflejo dentro de conjuntos en expresiones regulares de Python

Como sabes, el acento circunflejo dentro de [ ] crea una negación cuando se escribe al principio de los corchetes. Por lo tanto, es un carácter especial dentro de estos corchetes. Para obtener el acento circunflejo como carácter, es necesario o escaparlo, o quitarlo de la primera posición.

Ejemplo

En el siguiente ejemplo, el patrón de búsqueda es: el primer carácter es todo excepto 'd', luego dos letras 'x':

pythontxt = 'axx bxx ^xx dxx'
res = re.sub('[^d]xx', '!', txt)

print(res)

Como resultado, se guardará en la variable lo siguiente:

python'! ! ! dxx'

Ejemplo

Y ahora el patrón de búsqueda es: el primer carácter es 'd' o '^', luego dos letras 'x':

pythontxt = 'axx bxx ^xx dxx'
res = re.sub('[d^]xx', '!', txt)

print(res)

Como resultado, se guardará en la variable lo siguiente:

python'axx bxx ! !'

Ejemplo

No es necesario quitar el acento circunflejo de la primera posición, simplemente se puede escapar usando la barra invertida, y entonces representará al propio carácter:

pythontxt = 'axx bxx ^xx dxx'
res = re.sub('[\^d]xx', '!', txt)

print(res)

Como resultado, se guardará en la variable lo siguiente:

python'axx bxx ! !'

Problemas prácticos

Задание 1

Dada la cadena:

pythontxt = '^xx axx ^zz bkk @ss'

Escriba una expresión regular que encuentre las cadenas según el patrón: acento circunflejo o arroba, y luego dos letras latinas.

Задание 2

Dada la cadena:

pythontxt = '^xx axx ^zz bkk @ss'

Escriba una expresión regular que encuentre las cadenas según el patrón: NO acento circunflejo ni arroba, y luego dos letras latinas.

Задание 3

Dada la cadena:

pythontxt = '^xx axx ^zz bkk'

Escriba una expresión regular que encuentre las cadenas según el patrón: ni acento circunflejo ni espacio, y luego dos letras latinas.