He escrito un pseudocódigo para determinar si la cadena contiene * o no y devuelve la posición (inicio, final y envuelto) si contiene, verifique el código sandbox.
El problema es que el código funciona correctamente para la cadena que contiene * al principio, es decir, *string , para otros casos no funciona ( string* y *string* ). Por favor ayúdame a solucionar esto.
Cadenas de ejemplo
console.log(parser.parse("*string")); console.log(parser.parse("*string*")); console.log(parser.parse("string*")); console.log(parser.parse("string"));Rendimiento esperado
{star: "start", text: "string"} {star: "wrapped", text: "string"} {star: "end", text: "string"} {star: "no_star", text: "string"}Zona de pruebas de código: https://codesandbox.io/s/javascript-testing-sandbox-forked-5nrj4?file=/src/index.js
TEXT = text:[^* ]+ { return text; }Resolvió mi problema.