¿Cómo hago regex para hacer esto (string = # one # two; todo después de # poner en la etiqueta li para la lista y antes del nuevo # o final de la cadena cerrar la etiqueta li y así sucesivamente) por JavaScript?

Supongo que su cadena se ve así.

  var ejemplo = "# uno # dos # tres"; 

Para simplificar lo que señaló Quora User, esto funciona:

  var elems = example.split ("#"). slice (1, splitted.length);

Si su tarea escolar dice que tiene que usar expresiones regulares, puede usar esto:

  var elems = example.replace (/ # /, "
  • ") .replace (/ # / g, "
  • \ n
  • ") + "
  • ";

    Y sospecho que es trabajo escolar, porque es una pequeña forma inteligente de explicar cómo funciona g. (Significa que deberías obtener la hiel de los partidos).

    Ver el primer reemplazo solo encuentra la primera coincidencia de # y la reemplaza con

  • . Luego trabajamos en la nueva cadena y reemplazamos TODOS los # restantes con
  • \ n

  • , y luego agregamos el cierre final al final allí. Hay varias variaciones en esto, y no es la forma más rápida o elegante de hacerlo, pero es fácil entender lo que está sucediendo.

  • No necesitas expresiones regulares para esto. Eche un vistazo a la función split S tring# .

      var yourString = '# uno # dos # ...'
     yourString
     .división('#')
     .map (slice => '
  • ' + slice + '
  • ') .unirse('')