Si desea hacer coincidir más de un ; cadenas separadas y luego usar grupos de captura.
db.getCollection('CollectionName').find(
{
"magnitude": /^1678(;1678)*$/,
"flag": /^[01](;[01])*$/
}
)
(;1678)* coincide con la cadena ;1678 , cero o más veces.
[01] coincide con 0 O 1