Digamos que tengo una cadena:Powershell Regex - grupo denominado opcional coincide
$string1 = "Hello_World:How, are, you:-all -is -well"
me gustaría usar una expresión regular para que coincida con las secciones de la cadena separados por dos puntos en grupos de nombre. Por ejemplo:
$pattern = "(?<first>.*)\:(?<second>.*)\:(?<third>.*)"
Este modelo coincidirá con $ $ cadena1 con éxito y que terminaría con los siguientes partidos:
first=Hello_World
second=How, are, you
third=-all -is -well
Esto es bueno, pero hay un problema. El $ cadena1 potencialmente podría faltar la tercera sección, por ejemplo:
$string1 = "Hello_World:How, are, you"
Por desgracia, esta $ cadena1 ya no coincide con el patrón de expresión. ¿Cómo lo hago para que el patrón coincida con ambos formatos de cadena? (es decir, siempre debería tener una coincidencia "primera" y "segunda", y solo una "tercera" coincidencia si se proporciona).
Sí, eso es más sencillo. Sin embargo, dudo en darle el +1 siempre y cuando el OP confirme que las diferentes partes _do no_ contienen ':' - no es que mi solución maneje esto correctamente tampoco, heh. – fge