Чтобы расширить регулярное выражение, чтобы при желании можно было использовать только одно подчеркивание за раз, которое слишком зажато в строке, вы можете использовать это регулярное выражение.
[A-Za-z][A-Za-z0-9]*(_[A-Za-z0-9]+)*
Я только что добавил (_[A-Za-z0-9]+)*
часть, которая будет позволять одиночному подчеркиванию, за которым следует по крайней мере один буквенно-цифровой символ, целое его ноль или более раз, чтобы сделать подчеркивание необязательным.
Теперь вам придется позаботиться о других аспектах, так как я не знаком с флексом.
Починенные измеренные буферы могут только быть одномерными. Необходимо будет использовать:
unsafe struct Distort
{
int a_order;
fixed double a[DISTMAX * DISTMAX];
}
и затем адаптируйте арифметику для достигания отдельных значений.