Estoy tratando de escribir una prueba de expresiones regulares en JavaScript para verificar si una cadena solo contiene llaves individuales balanceadas, si solo contiene llaves dobles balanceadas debería devolver falso.
Por ejemplo:
si la cadena es "{algo}", "abc{algo}cbd", debería devolver verdadero,
si la cadena es "{algo}abc{{algo más}}", "{{algo más}}{algo}", también debería devolver verdadero,
sin embargo, si la cadena es "{{algo}}" o "{{algo}}abc{{algo más}}", debería devolver falso
Tengo una solución de expresiones regulares para esto, que es /(?<!{\s?){(?!\s?{)[^{}]+(?<!}\s?)}(?!\s ?})/gm, sin embargo, ios safari no es compatible con la búsqueda negativa.