• Publicidad

Separación por comas en regexp

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Separación por comas en regexp

Notapor newperlero » 2011-09-15 04:31 @229

Hola, tengo que capturar una cadena de un dn, el dn tiene esta pinta:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
CN=Usuario123,OU=Admins,OU=Accounts,OU=ESPANA,DC=ZONES,DC=GLOBAL,DC=CORP
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Quiero capturar "Usuario123", pero no sé cómo especificarle a la expresión que capture hasta el primer OU:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. if ($linea =~ m/CN=(.+)OU=/gi
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

En el caso de que quiera capturar por ",", estamos en las mismas, me captura hasta la ultima ocurrencia que encuentra.
¿Cómo puedo especificarle esto?

Saludos,
newperlero
Perlero nuevo
Perlero nuevo
 
Mensajes: 42
Registrado: 2011-07-15 06:38 @318

Publicidad

Re: Separación por comas en regexp

Notapor explorer » 2011-09-15 04:37 @234

Prueba con

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. if ($linea =~ m/CN=(.+?),/i) {
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Hay que cambiar el comodín avaricioso (.+) por el que no lo es: (.+?).

De esa manera, se capturará la cadena de texto más corta con la que coincida, antes de la ','.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Separación por comas en regexp

Notapor newperlero » 2011-09-15 04:44 @239

Me quedo con lo del comodín avaricioso; ¡este mamón captura todo lo que pille por delante! :lol:
Por cierto, creo que este es el récord: 7 m en resolver una duda.
¡Muchas gracias!
newperlero
Perlero nuevo
Perlero nuevo
 
Mensajes: 42
Registrado: 2011-07-15 06:38 @318

Re: Separación por comas en regexp

Notapor pvaldes » 2011-09-15 05:09 @256

Si CN está al principio de la línea puede interesarte ponerlo así

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.   if ($linea =~ m/^CN=(.+?),/i) {
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
pvaldes
Perlero nuevo
Perlero nuevo
 
Mensajes: 129
Registrado: 2011-01-22 12:56 @580

Re: Separación por comas en regexp

Notapor newperlero » 2011-09-15 05:14 @259

pvaldes escribiste:Si CN está al principio de la línea puede interesarte ponerlo así

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.   if ($linea =~ m/^CN=(.+?),/i) {
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Sí, eso sí lo sabia, aunque en este caso no está al principio de la línea.
De todas formas, gracias pvaldes.
newperlero
Perlero nuevo
Perlero nuevo
 
Mensajes: 42
Registrado: 2011-07-15 06:38 @318


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 33 invitados

cron