entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Expresiones regulares

Buenas tengo una inquietud con una expresión regular, es posible obtener dos valores de una cadena de texto.
Por ejemplo:

 #prueba.expresion ul li
 |---------------||-----|
 -------- 1 -------- 2

1) Obtiene todo el texto desde el signo número (#) hasta el primer espacio que encuentre
2) Obtiene todo desde el espacio en blanco hasta que termine la cadena de texto

nota: no siempre es la misma estructura

 #menu
 #menu.data
 #menu.data.list
 #menu ul li
 #menu.data ul li
 #menu.data.list ul li
 #menu ul li.select
 #menu.data ul li.select
 #menu.data.list ul li.select

si me pueden ayudar muchas gracias :)

Edito!
Haciendo pruebas llegue a construir esta y me sirve, si tiene alguna sugerencia para mejoras gracias

"#menu.data ul li".match( /#([\w.]*)|(?:^|\S.*)/g );

Resultado:

  ["#menu.data", "ul li" ]

Sin símbolo "#"

"menu.data ul li".match( /#([\w.]*)|(?:^|\S.*)/g );

Resultado:

  ["", "enu.data ul li" ]

si alguien me puede ayudar para que en este caso salga la palabra completa seria genial!

1 Respuesta

3votos

mrczrt Puntos6940

Hola que tal, puedes usar :

var cadena = "#prueba.expresion ul li".split(' '),
val1 = cadena[0],
val2 = cadena.slice(1).join(' ');

Creo que es otra solución simple, saludos.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta