¿Por qué la función de expresión regular de Perl es más poderosa que la de Python?
La mayor diferencia es... ¡la velocidad!
Varias pruebas muestran que el procesamiento normal de Perl sigue siendo el más rápido (no solo en comparación con Python. Las siguientes pruebas reales se pueden utilizar después). Mirando la pila y creando un objeto, comencé a hacer la regularización, lo que naturalmente agregó una capa de esfuerzo en el nivel inferior.
La regularización de Python depende de módulos para completarse, pero la regularización de Perl ya está en el corazón de el intérprete de Perl Es obvio quién comenzará más rápido. Por supuesto, además de C Python, que sigue siendo el más rápido, otros como JPython y Iron Python que dependen de frameworks para comenzar seguramente serán más lentos. La otra es... Para combos y asistencias, las expresiones regulares de Perl se pueden usar directamente como expresiones (=~ y!~), como: use?utf8;
$wantId?=?"Chen Dawen ";
p>die?"No puede utilizar caracteres extraños en su número de cuenta"?a menos que?$wantId?=~?/^[\w\d]+$/?;
#o?
%usuario?=?(?
1?=>?{?Nombre?=>?"Príncipe"?},?
2?=>?{? Nombre?=>?"Principito"?}?
3?=>?{?Nombre?=>?"Wang Mei"?}?);
@surnameWang ?=?grep?{?$usuario{$_}{Nombre}?=~?/^王/?}?keys?%user;?
# ?@王?=? (?1,?3)
#?O
%mask?=?(?1?=>?"M",?2?= >?"X" ,?3?=>?"B"?);
$contraseña?=?"321";?#Contraseña normal
$maskedPw?=? undef;?#Contraseña de cifrado
$contraseña?=~?s/(.)/$maskPw?.=?$mask($1)/eg;?
#?maskedPw ?=?"BXM "Para los ejemplos anteriores, ¿cuántas líneas necesitas escribir en Python para lograr el mismo efecto... Sin embargo, la cuestión de los niveles del idioma es otra cuestión por ahora.