¿Qué significa el guión bajo en la siguiente expresión regular?¿Qué significa _ en [a-zA-Z0-9_]?
[a-zA-Z0-9_]
El _
parece hacer ninguna diferencia, así que no entiendo el propósito de la misma.
¿Qué significa el guión bajo en la siguiente expresión regular?¿Qué significa _ en [a-zA-Z0-9_]?
[a-zA-Z0-9_]
El _
parece hacer ninguna diferencia, así que no entiendo el propósito de la misma.
Significa hacer coincidir el carácter de subrayado además de letras minúsculas, letras mayúsculas y números.
Significa que el guión bajo también se corresponde.
Con la excepción de las secuencias de caracteres ([.
, [:
, y [=
), las expresiones de rango (por ejemplo, [a-z]
), y la circunfleja en el principio ([^
), cada carácter dentro de una expresión entre corchetes significa que el personaje en sí, solo como ese guion bajo.
Como nota al margen, esa expresión se representa comúnmente por \w
(carácter de palabra, ignorando el Unicode y la configuración regional), y se usa comúnmente para definir el conjunto de caracteres que se permite usar en nombres de variables.
\ w depende de la configuración regional y también coincidirá con los caracteres Unicode –
Para la mayoría de los idiomas, '[a-zA- Z _] [a-zA-Z0-9 _] * 'es probablemente más preciso para los nombres de las variables, ya que prohíben comenzar con los dígitos. –
Y muchos idiomas hoy en día permiten otros scripts para nombres de variables también. Así que diviértete con las clases Unicode también :-) – Joey
Las expresiones regulares están documentadas en perlre. Ese es el lugar para verificar cada vez que tenga una pregunta sobre expresiones regulares. El sitio Regular-Expressions.info es muy útil también.
Para empezar, lo que está viendo se llama "clase de caracteres".
+1 para responder * más * a la pregunta inmediata. – paxdiablo
Gracias. Solo si todos fuéramos tan tolerantes con los novatos. – unj2
Para alguien nuevo en expresiones regulares en Perl, siempre recomiendo 'perldoc perlrequick' primero. Es mucho más amigable que 'perldoc perlre', principalmente porque no es tan abrumadoramente detallado. – Telemachus
BTW, '[a-zA-Z0-9_]' == 'w ' – Tordek
Consulte [perlre] (http://perldoc.perl.org/perlre.html) y [perlref] (http: //perldoc.perl.org/perlreref.html). Sí, acabo de decir "RTFM". –
Tordek: no [a-zA-Z0-9_]! = \ W, no en Perl. –