Mis datos changelog.md se ven a continuación.
## 11.2.3 * xxx * xxxx ## 11.2.2 * ttt * tttNecesito una expresión regular que pueda devolver solo la lista de las primeras versiones, es decir.
* xxx * xxxxProbé varias soluciones pero no llegué al resultado final.
Intenté hacer coincidir y reemplazarlo, no funcionó.
const changelog = ` ## Hello World * This is a bold text * This is a bold text ## Hello World * This is a bold text ## Hello World * This is a bold text `; const final = changelog.match( /([^(##)])(.*)[^(##)]/g ); console.log(final);No necesita poner ^## dentro de [] . Los corchetes son para hacer conjuntos de caracteres, () es para agrupar. No hay necesidad de agruparlo si no está interesado en esa parte.
Use el modificador m para hacer que ^ coincida con el comienzo de una línea en lugar del comienzo de la cadena. Entonces .*\n coincidirá con el resto de esa línea. [^#]* coincidirá con todo después de eso hasta el próximo # .
const changelog = ` ## Hello World * This is a bold text * This is a bold text ## Hello World * This is a bold text ## Hello World * This is a bold text `; const final = changelog.match(/^##.*\n([^#]*)/m); console.log(final[1]);