Ayuda con StringRegExp
Publicado: 18 Feb 2012, 03:34
Hola gente que tal, vengo con un problema con StringRegExp. Resulta que de una cadena de texto tengo que buscar las coincidencias.
Bueno eso es lo que hice yo, pero hay un problemita, el array que me devuelve tiene solo una coincidencia, la primera "KB2633873", pero me esta faltando la otra. Como puedo arreglarlo? Gracias!
PD: No estoy canchero con esto de expresiones regulares y lo que hice lo hice mas copiandome y tratando de entender. Lo que yo interpreto de lo que hice es que busque en la cadena dada una expresion que comienze con "KB" y seguido que tenga digitos, quedando "KB[[:digit:]]", pero si dejo asi tan cual me devuelve "KB2", entonces le agregue el signo "+", para que repita el caracter anterior.
EDITO
Lo solucione de una forma algo facil ¬¬ cambie el "1" por el "3" en ($Cadena, "KB[[:digit:]]+", 3). Lo que no entiendo es la finalidad de esto, la diferencia entre el "1" y el "3", debe ser para achicar el procedimiento, si se busca una coincidencia y se usa el "1" es más rapido que si tiene que listar todas la coincidencias.
Código: Seleccionar todo
$Cadena = 'KB2633873, KB000000'
$aArray = StringRegExp($Cadena, "KB[[:digit:]]+", 1)
PD: No estoy canchero con esto de expresiones regulares y lo que hice lo hice mas copiandome y tratando de entender. Lo que yo interpreto de lo que hice es que busque en la cadena dada una expresion que comienze con "KB" y seguido que tenga digitos, quedando "KB[[:digit:]]", pero si dejo asi tan cual me devuelve "KB2", entonces le agregue el signo "+", para que repita el caracter anterior.
EDITO
Lo solucione de una forma algo facil ¬¬ cambie el "1" por el "3" en ($Cadena, "KB[[:digit:]]+", 3). Lo que no entiendo es la finalidad de esto, la diferencia entre el "1" y el "3", debe ser para achicar el procedimiento, si se busca una coincidencia y se usa el "1" es más rapido que si tiene que listar todas la coincidencias.