Estoy tratando de hacer algunos indicadores y argumentos de terminal personalizados, con la esperanza de aprender algo nuevo, y siento que falta algo, esto es lo que probé:
/(?<flag>-{0,2}[., a-z0-9_-]*)(?<=\s*)(?<![-])(?<arguments>[\[\<]\S+)?/gimNota: es una expresión regular de ES6.
aquí están los ejemplos para ser probados en:
-d, --devices <command> [ios-type...] -n --no-run -m, --mobile -a, --all -p, --platforms --os <os-type> Estoy tratando de capturar todos los parámetros de inicio de guión como un grupo <flag> en una coincidencia.
Al capturar cada uno de los argumentos en un grupo <arguments> separado como coincidencias diferentes.
si lo intentara en https://regex101.com/ , notará espacios adicionales y coincidencias nulas tanto en <flag> como en <arguments> en los que no sabía cómo deshacerme.
aquí están los resultados:
-d, --devices <command> -d, --devices <command> [ios-type...] [ios-type...] -n --no-run -n --no-run -m -m --mobile --mobile -a, --all -a, --all -p, --platforms -p, --platforms --os <os-type> --os <os-type>si tiene alguna idea, por favor hágamelo saber.