Регулярное выражение для соответствия всем десятичным знакам, которые идут после 4 первых десятичных знаков

Что ж, название говорит само за себя. Я хотел бы найти регулярное выражение, которое позволяет мне сопоставлять оставшиеся десятичные знаки после 4 первых десятичных знаков. На данный момент я понял, как сопоставить число и 4 первых десятичных знака.

^\d+\.\d{0,4}$

но это оставшиеся цифры, которые я хотел бы сопоставить с отрицательными и положительными числами.

45.46867431 ---> returns 7431.
5.34 ---> returns nothing.
0.0015 ---> returns nothing.
-135.6584312315 ---> returns 312315.
0.008951 returns ---> returns 51.

Мне нужно, чтобы это было регулярное выражение, потому что оно предназначено для очистки файлов, а не для прямого форматирования с помощью сценария.


person HowTo    schedule 14.03.2014    source источник
comment
@TimPietzcker, ты всегда задаешь этот вопрос и отвечаешь на вопрос ОП раньше нас.   -  person aelor    schedule 14.03.2014
comment
Вам нужно проверить строку? То есть, должно ли регулярное выражение отклонять соответствие 5678 в строке foo12345678? Можно ли получить доступ к содержимому групп захвата или только ко всему матчу?   -  person Tim Pietzcker    schedule 14.03.2014
comment
Нет, я не использую какой-либо движок регулярных выражений, я очищаю файлы geoJSON, которые показывают слишком много десятичных знаков в wsg84, а мой редактор - это возвышенный текст, он позволяет выбирать файлы с регулярными выражениями... Должен сказать, я часто спрашиваю и пробую чтобы ответить на вопросы о переполнении стека. И мне никогда не отвечают так быстро, как когда это касается регулярных выражений... Вы, ребята, наверное, самая реактивная часть этого сообщества. @aelor Я использовал твой, он отлично работает, разделил вес моих файлов на 2   -  person HowTo    schedule 16.03.2014


Ответы (2)


(?<=\.\d{4})\d+

это должно помочь.

демо здесь: http://regex101.com/r/eW8fR6

person aelor    schedule 14.03.2014

Это вернет вам цифры после точки и четыре цифры.

^-?\d+\.\d{4}(\d+)$

Предполагая, что не будет ввода, такого как .102123

person Sabuj Hassan    schedule 14.03.2014