Я пытаюсь извлечь числа с плавающей запятой из строки, полученной из файла решателя NASTRAN, который имеет эту форму
CBEAM 481 3 1002 1003 0.00001.000000-4.69-14
Меня интересуют последние три числа: 0, 1 и -4.69x10 ^ -14
Я пробовал несколько выражений регулярных выражений до сих пор. Я программирую на Голанге, поэтому решение, которое я ищу, находится в regex2 . Мне удалось добраться до сих пор:
[-]*\d\.\d{1,4}[^\d\.]*[\+\-\d]{0,2}
Регулярное выражение должно выглядеть следующим образом:
- Знак минус в начале
- Первая цифра переддесятичное число
- десятичное число, чем больше, тем лучше
- Избегайте цифры, за которой следует десятичная точка
- Неудобная научная запись, если имеется
Мой предложенныйрешение извлекает первую цифру следующего десятичного числа и, следовательно, дает только первое и третье числа.
Я не совсем уверен, как справиться с тем, чтобы избежать десятичной дроби и точки, а также искать научные обозначения,Мое отрицательное выражение не выполняет работу, потому что я снова ищу цифры в конце!