« first day (427 days earlier)      last day (2680 days later) » 
00:00 - 18:0018:00 - 00:00

6:07 PM
jajajajaj stringificando jajajajajaj en las etiquetas
 
6:25 PM
Hola a todos :D
 
@Error404 Hola.
 
@Error404 hola!
 
@ArtEze @Flxtr ¿Que tal?
 
@Error404 Bien. Ayer compré helado.
 
@Error404 todo tranquilo bro, acá apoyando a la comunidad :)
 
6:26 PM
@Flxtr @ArtEze Me alegro. Oye, ¿vosotros sabéis algo de regex? Tengo una duda que me está matando xD
 
@Error404 un poco, pero venga, lo checamos
 
@Flxtr Quiero obtener todas las ocurrencias de un string teniendo dos opciones. Es decir, /(opcion1|opcion2)/
@Flxtr Y quiero sacar todas las ocurrencias de cualquiera de los dos que encuentre. Se que es /g pero no sé donde ponerlo ya que todo me da error
 
@Error404 a ver, veamos, dame un ejemplo del string y que resultado esperas
 
@Flxtr @Mariano Ha llegado el master de las regex xD
 
@Error404 que nos ilustre con su sabiduría :)
 
6:33 PM
@Flxtr Por ejemplo, en el string "Ayer me compre un perro y un gato. El gato se me ha puesto malo." detectar todas las palabras perro y gato que haya. He probado con /(perro|gato)\/g/ pero no da resultados
 
@Error404 "perro gato".match(/(perro|gato)/g)
 
@Error404 tal cual, es con /g, pero cómo configurarlo depende del lenguaje... Que es.... ?
 
@ArtEze Estoy intentando hacer un reemplazo. ¿Eso es posible?
@Mariano Javascript
 
@Error404 mira por acá regex101.com/r/dcE8i6/1
 
@Error404 Mariano sabe... Es con el signo $, no sé muy bien.
 
6:38 PM
realicpe una prueba y encuentra 3 resultados:

<!DOCTYPE html>
<html>
<body>

<p>Click the button to do a global search for "is" in a string.</p>

<button onclick="myFunction()">Try it</button>

<p id="test"></p>

<script>
function myFunction() {
var str = "Ayer me compre un perro y un gato. El gato se me ha puesto malo.";
var patt1 = /(perro|gato)/g;
var result = str.match(patt1);
document.getElementById("test").innerHTML = result;
}
</script>

</body>
</html>
@Error404 sale perro,gato,gato
 
@Flxtr Lo que estoy intentando es reemplazar todas las palabras que aparecen pero no sé si es posible
 
str.replace(/perro|gato/g, "reemplazo");
str.replace(/perro|gato/gi, "reemplazo"); //case insensitive
 
@Mariano Vale gracias Mariano. No sé porque pensaba que se tenían que poner los paréntesis
 
@Error404 los paréntesis hacen 2 cosas: agrupan y graban en texto que coincidió en memoria
 
@Mariano Me hago un lío cuando usar paréntesis y cuando usar corchetes
 
6:44 PM
El operador de alternancia tiene la menor precedencia dentro de regex, por lo que su quieras poner algo antes de esas palabras, tendrías que agrupar
Sin embargo, para agrupar, conviene usar (?:grupo), que agrupa pero no ocupa memoria, no graba nada
Por ejemplo, si quisieras buscar sólo palabras completas:
nuevo = viejo.replace(/\b(?:perro|gato)\b/gi, "reemplazo");
@Error404 lo que va en corchetes se llama clase de caracteres, y coincide solamente con 1 caracter
 
A mí se me ocurrió esto, cortar el string con split... "El gato y el perro".split(/(perro|gato)/g);... Eso serviría para volver a unirlo luego.
 
@Error404 me parece que pudiera ser algo así:

<script>
function myFunction() {
var str = "Ayer me compre un perro y un gato. El gato se me ha puesto malo.";
var result = str.replace( new RegExp("\(perro|gato)","gm"),"foo")
alert(result);

}
</script>
Me sale: Ayer me compré un foo y un foo, El foo se me ha puesto malo
 
@Flxtr Está bien, pero tiene un par de cosas innecesarias: no hace falta usar el constructor de regex en este caso, la barra antes del paréntesis sobra, y no hace falta usar el grupo para crear un backreference
 
@Mariano ah ok, vale, gracias por la observación
@Mariano al igual que @Error404 me hago pelotas con algunas cosas
 
Por último, quizás les sirva saber que en lugar del reemplazo de puede usar un callback para reemplazar por cosas diferentes según qué coincidió
res = str.replace(/perro|gato/g, function(que) { return "un " + que });
 
6:55 PM
@Mariano hola
 
@rn3w buenas
 
@Mariano aun estoy con la basura en el codigo
 
@Mariano Mira Mariano te explico el problema. Todo viene a raíz de esta respuesta que he dado a una pregunta. es.stackoverflow.com/a/41713/16108. La verdad que yo no me he fijado pero si que es verdad que cuando haces el replace sobre el body se modifica también el id y por tanto se rompe. Ahora bien, he creado una regex por separado para que no detecte ese id y parece funcionar: jsfiddle.net/zg8enbf0/1.
@Mariano Ahí hago que excluya el texto del id. Sin embargo, cuando lo pongo en el ejemplo completo se rompe: jsfiddle.net/kajjndyk/1. Sé que me estoy dejando algo pero no consigo ver el qué.
 
@rn3w me imagino... Leí el código y me dio flojera revisarlo... Pero el error es el que te dijo @ArtEze ... Estás estringificando por demás
 
@Mariano Esto no lo sabía. Gracias por el aporte! :)
 
6:57 PM
Hola a todos
 
@Error404 ya veo... Pero la verdad es que mi recomendación sería no usar regex en ese caso
 
@Mariano Simplemente en este caso ya es por reto personal xD
 
@Error404 hagas lo que hagas, puedo encontrar una excepción donde no debería reemplazar
@Error404 consideraste comentarios del HTML, o texto dentro de una propiedad de un tag, o código JavaScript dentro del fuente, o..... Hay muchos casos
Yo uso regex en proyectos personales, pero en una respuesta en el sitio sobre cómo modificar HTML, siempre usar el DOM
 
@Mariano Tienes razón, no lo había pensado. La verdad que no estoy muy acostumbrado a las regex y me he lanzado a intentarlo para intentar aprender con este ejemplo. Sin embargo, no he llegado a entender porque en uno de los ejemplos no hace el reemplazo y en el otro sí.
 
@Mariano Jajaja, cierto, empieza con e.
 
7:13 PM
@Error404 el signo de admiración no niega un regex.. una posible respuesta sería buscar todos los tags HTML, haciendo que sólo se reemplace cuando estás fuera de un tag
 
@Mariano ¿Entonces por qué en este caso realiza la negación y no aplica el reemplazo? jsfiddle.net/zg8enbf0/2 pero si le quitas la negación si que lo reemplaza?
@Mariano Es eso lo que me tiene totalmente confundido
 
@Error404 por ejemplo, una solución muy casera, y que también fallaría en infinidad de casos es /texto(?![^<]*>)/ig
@Error404 en ese caso realiza el reemplazo porque coincide con gato... La barra actúa con un gran OR en todo el patrón
 
@Mariano Sí, pero si la quitas, reemplaza ambos textos.
 
@Error404 ese patrón significa: un signo de admiración, seguido de un espacio blablabla, O "gato"
 
@Mariano Entiendo, y como podría realizar una negación?
 
7:29 PM
@Error404 para casos sencillos, negando el resultado de la función, para casos como el de recién,no existe una estructura que niegue... Lo más cercano es un negative lookahead como usé en el ejemplo de arriba regular-expressions.mobi/lookaround.html y hay otras alternativas... Hay una pregunta en el sitio que está muy bien... Ya la busco
19
Q: ¿Cómo negar (no seleccionar) con expresiones regulares? en PHP o JavaScript

ChofoteddyDetalles de añadidos Encontré en internet las siguientes dos formas de negar: ?! [^\w] Pero no logro encontrar documentación en español y el inglés que usan para describir el funcionamiento lo considero demasiado avanzado para comprender el significado de ambos y como usarlos apropiadamente ...

 
@Mariano Ahora mismo la miro. Gracias. ¿Y que piensas sobre la respuesta? ¿Debería de borrarla? ¿O debería de indicar que solamente se podría usar tomando el texto de un elemento y no del elemento body?
 
@Error404 Podrías decir que sólo funciona con .innerText, y que no considera etiquetas, no sé, cómo te parezca
 
@Mariano No quiero dar soluciones erróneas. Sin embargo, mi solución si la aplicas a una etiqueta de tipo texto funciona bien, que es lo que pide realmente el OP. Por eso estoy en duda.
@Mariano Creo que igual debería de añadir que solo funciona para textos.
 
@Error404 o hacer un lopp en todos los textnodes reemplazando uno por uno :-)
 
@Mariano Sí, pero esa es la respuesta que ha dado @aldanux
 
7:41 PM
(usando regex en cada reemplazo)
@Error404 Es cierto que hace el lopp en los textnodes, pero después hace un Split por palabras que es poco eficiente y me parece horrible
Además, elimina los saltos de línea y las vocales con tildes, eso está muy mal
 
8:11 PM
... pero la respuesta de Marcos Gallardo si está bastante bien
 
8:26 PM
@ArtEze con e, sin e, es un invento gracioso :-)
@rn3w volviendo a tu tema (aunque sigo con pocas ganas de interpretar ese código), te recomendaría trabajar con 1 sólo objeto en tu código, y llevarlo a JSON a la hora de guardarlos, y .parse inmediatamente después de recuperarlo
 
@Mariano Sí... También pensaba en la palabra cadenizar... Sería una cadena de caracteres.
 
@ArtEze convertir a JSON?
 
@Mariano Sí, sería pasar el array a texto.
 
@ArtEze digo "convertir a JSON" sería una frase que se podría usar en vez de estringificar
 
@Mariano ¡Aah! Se puede... Como prefiera cada uno.
 
8:35 PM
@ArtEze algo me dice que te copaste con "stringificar" :-)
 
@Mariano Sí, está copado... Ahora que lo pienso, sería estringuificar, con la u en el medio... Sería expandir demasiado la palabra.
 
9:05 PM
Me parece a mí, u hoy salieron muy buenas preguntas (raro a esta altura del año)
 
10:01 PM
@Mariano Sí, la verdad que hoy salieron preguntas interesantes. Habrá cierre de proyectos jejeje
 
@Error404 jajaja si no terminan no podrán ir a festejar el año nuevo :P
 
@Flxtr festejar se festeja igual :D
 
10:16 PM
@Error404 jajaja
alguien sabe cuántos colaboradores hay por país en SOes?
 
@Flxtr ¿A que te refieres con colaboradores? ¿A moderadores?
 
@Error404 por colaborador me refiero a usuario jeje, por ejempo, México 1000 usuarios, Perú 2000, Panamá 2500 etc etc
 
@Flxtr Ni idea la verdad pero creo que hay un poco de todo
 
mi pregunta va mas orienta es para saber (por puro placer jeje) cuál es el país que tiene más interacción en el sitio
 
@Flxtr Yo veo mucha gente de latinoamérica (Argentina, Perú, México, etc...) que de España aunque igual es que no hablan tanto por el chat
 
10:36 PM
Que tal
 
10:46 PM
@Flxtr hay un query en SEDE que usamos seguido... Si no lo encontrás, después lo busco
@Error404 si no me equivoco, España esta primera en cantidad, seguida de México y Argentina
 
@Mariano oh, pues yo solo he conocido a un usuario que era de España
 
vale, gracias @Mariano
 
11:08 PM
Oct 6 at 8:26, by Mariano
O pongamos un poco de competencia: Reputación media por país --> http://data.stackexchange.com/es/query/64273/world-cup-of-reputation
Eso es sólo basado en la descripción del perfil de los usuarios
 
me falta Perú
estoy casi seguro que varios usuarios tienen puesto Perú como país
 
@AlvaroMontoro tenés razón... Enlace equivocado... Había otro con los acentos acomodados en español
@AlvaroMontoro ^^^^^^^^^ era ese
 
@Mariano ¿Cómo encuentras esas querys?
 
No sé
Shaz está en Canadá?
wow, sí
jejejejeje
> No es una cobra ni un búho, es un gato.
recuerdo haberle dicho que el thumb me parecía una cobra y alguien contestó que a él/ella le parecía un búho
 
@Error404 esa la edité yo... Pero buscando en SEDE básicamente
Aug 26 at 14:11, by Shaz
Vivo en Canadá
@AlvaroMontoro el del búho fui yo :-)
(con imagen incluida)
Nov 8 at 17:08, by Mariano
Aug 23 at 3:53, by Mariano
user image
Aug 23 at 4:08, by Alvaro Montoro
@Mariano Ahora veo un búho también!
 
11:37 PM
Ayer comentaba que la memoria me fallaba, cada vez lo tengo más claro
Por cierto
y no relacionado
el gobierno de los EEUU ha publicado un informe sobre el hackeo ruso
nada de algo excesivamente complicado ni tecnología punta
aprovecharon vulnerabilidades XSS y de inyección SQL, y una campaña de phishing, para robar cuentas e emails
ni superordenadores, ni programas de internet profundo, ni leches; cosas que cualquier programador podría haber hecho en media tarde
Personalmente, me da vergüenza que algo tan esencial y tan básico como sanear las entradas de usuario no se haga de forma correcta. Nos dan mal nombre a todos.
 
@AlvaroMontoro Yo intento poner medidas de seguridad en todo lo que puedo. Sin embargo, no tengo apenas experiencia y siempre pienso que algo se me está quedando atrás aunque intento informarme todo lo posible sobre las posibles vulnerabilidades.
 
@Error404 estás hablando de proyectos personales o profesionales? y si son profesionales, como parte de una empresa o por tu cuenta?
 
@AlvaroMontoro te vi en el video de SOes en youtube
 
Comprendo que una persona no puede saberlo todo, pero parece que en los tiempos que corren se está dando más importancia a la usabilidad y la accesibilidad que a la seguridad. Cuando la seguridad debería ser esencial
 
@AlvaroMontoro me hiciste gracia sobre el auto cadilac
 
11:52 PM
@rn3w ¿mande?
Los problemas de seguridad se ven todos los días en SO y SOes, por ejemplo en todas las preguntas de PHP y MySQL usando mysql_*
 
@AlvaroMontoro hablo sobre la session 3 (trabajar desde casa)de SOes
 
@AlvaroMontoro Por mi cuenta. Aunque realmente a nivel profesional puedo establecer los mismos métodos que a nivel personal. Me sorprende cada día más que a la gente le importe cada vez menos la seguridad y, como bien dices, sólo les importe la usabilidad.
@AlvaroMontoro Yo esa la aplico siempre, solo uso mysqli aunque no sé realmente porqué es más seguro uno que otro.
 
porque MySQLi permite usar sentencias preparadas
 
@AlvaroMontoro Oh, cierto. Me acabas de hacer sentir un estúpido en toda regla xD
 
si usas las funciones mysqli_* pero con sentencias dinámicas (e.g. "SELECT * FROM tabla WHERE id = " . $_GET["id"]) tienen los mismos problemas de seguridad
no es estúpido. No te sientas así. Borra ese comentario
 
11:57 PM
Oigan, no estoy seguro que el query de usuarios esté bien :/
miren, por ejemplo para mi usuario me aparece esto:

9 Unknown 1431 4278 99 Flxtr 1060
Yo he puesto que mi país es México, y ahí dice que es Unknown (desconocido)
 
le voy a echar un ojo para ver por qué sale eso
 
es el lugar que pone en tu perfil
 
00:00 - 18:0018:00 - 00:00

« first day (427 days earlier)      last day (2680 days later) »