83 / 2 / 2
Регистрация: 27.11.2015
Сообщений: 163
|
|
1 | |
Регулярное выражение для целого и дробного типа(со знаком)26.01.2016, 17:45. Показов 18650. Ответов 16
Добрый день.
Требуется написать регулярное выражение, которое будет принимать целые и дробные числа со знаком или без него. Для дробных чисел приемлема запись вида ".5"(0.5). В данный момент имею выражение вида: Код
regExp: /(?=.)([+-]?(\d*)(\.(\d+))?)/ Возможно ли избежать такой ситуации и если да, то как?
0
|
26.01.2016, 17:45 | |
Ответы с готовыми решениями:
16
Регулярное выражение для дробного числа от 0 до 1 Регулярное выражение для типа данных MYSQL Регулярное выражение для проверки поля типа float Регулярное выражение для поля ввода числа типа float |
6 / 6 / 2
Регистрация: 17.11.2012
Сообщений: 70
|
|
26.01.2016, 19:01 | 2 |
/del (
0
|
83 / 2 / 2
Регистрация: 27.11.2015
Сообщений: 163
|
|
26.01.2016, 19:08 [ТС] | 3 |
0
|
72 / 72 / 33
Регистрация: 07.11.2015
Сообщений: 281
|
|
26.01.2016, 19:48 | 4 |
/(?=.)([+-]?(\d*)(\.(\d+))+)/ ?Дробная часть же обязательна?
0
|
83 / 2 / 2
Регистрация: 27.11.2015
Сообщений: 163
|
|
26.01.2016, 19:56 [ТС] | 5 |
OneMoreGres, не всегда. Число может быть целым или дробным. И если оно дробное, то может иметь целую часть в явном виде(например, 1.43) или не иметь(.042( = 0.042)). Но если оно целое, то дробная часть, очевидно, не нужна.
Добавлено через 5 минут Кроме того, с какой целью второй '+' в конце? Выражение (\d+) подразумевает, насколько я понимаю, что у нас будет как минимум одна цифра обязательно. Если бы дробная часть была обязательна, то достаточно было бы убрать '?' в конце.
0
|
72 / 72 / 33
Регистрация: 07.11.2015
Сообщений: 281
|
|
26.01.2016, 20:03 | 6 |
Сообщение было отмечено inviter42 как решение
Решение
Пардон, невнимательно прочитал. Тогда как-то так:
(?=.)([+-]?(?=[\d\.])(\d*)(\.(\d+))?) Теперь точно на 1 проблему больше ) + в конце, чтобы обязательно была . с числом. Но это я пропустил, что еще целые надо.
1
|
83 / 2 / 2
Регистрация: 27.11.2015
Сообщений: 163
|
|
26.01.2016, 20:07 [ТС] | 7 |
OneMoreGres, дык она ж и так обязательно будет, почему бы ей не быть? В смысле, чтобы ввести дробную часть надо поставить точку даже с чисто логической точки зрения.
0
|
72 / 72 / 33
Регистрация: 07.11.2015
Сообщений: 281
|
|
26.01.2016, 20:19 | 8 |
0
|
83 / 2 / 2
Регистрация: 27.11.2015
Сообщений: 163
|
|
26.01.2016, 20:27 [ТС] | 9 |
OneMoreGres, вроде работает.
- а можете объяснить на пальцах что тут происходит? Точнее, как работает [?= __ ]
0
|
72 / 72 / 33
Регистрация: 07.11.2015
Сообщений: 281
|
|
26.01.2016, 20:33 | 10 |
[+-]? только если за ним следует [\d\.] (цифра для целого и дроби или точка для дроби без целой части).С regexp'ами всегда так )
1
|
83 / 2 / 2
Регистрация: 27.11.2015
Сообщений: 163
|
|
26.01.2016, 20:42 [ТС] | 11 |
OneMoreGres, то есть выражение (?=regexp) опирается при поиске соответствия на выражение, которое стоит до него, плюс regexp, но только если они вместе(первое после второго), я правильно понял?
0
|
72 / 72 / 33
Регистрация: 07.11.2015
Сообщений: 281
|
|
26.01.2016, 20:50 | 12 |
Да. То, что перед (?=regexp) срабатывает только если за ним следует regexp. Сам regexp не ловится.
0
|
83 / 2 / 2
Регистрация: 27.11.2015
Сообщений: 163
|
|
26.01.2016, 20:52 [ТС] | 13 |
OneMoreGres, отлично, я всё понял. Спасибо за помощь и разъяснения!
0
|
68 / 68 / 17
Регистрация: 20.01.2015
Сообщений: 347
|
|
26.01.2016, 21:07 | 14 |
Сообщение было отмечено inviter42 как решение
Решение
\\d*\\.?\\d+
0
|
83 / 2 / 2
Регистрация: 27.11.2015
Сообщений: 163
|
|
26.01.2016, 21:11 [ТС] | 15 |
Amok, вы забыли знак - я указал в тз, чтобы нужны числа со знаком(+ или -). В любом случае ответ был дан OneMoreGres.
0
|
83 / 2 / 2
Регистрация: 27.11.2015
Сообщений: 163
|
|
26.01.2016, 21:22 [ТС] | 17 |
Amok, думаю такой вариант тоже возможен. Выглядит правильным, по крайней мере.
0
|
26.01.2016, 21:22 | |
26.01.2016, 21:22 | |
Помогаю со студенческими работами здесь
17
Error C1017: недопустимое константное выражение целого типа Какой компонент типа статус бара, подойдет для отображения дробного значения процента? Сравнение дробного и целого числа Регулярное выражение для поиска Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
|
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
|
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
|
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
|
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента!
4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве).
Первое вводное занятие. . .
|
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
|
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений
Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
|
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
|
UserScript для подсветки кнопок языков программирования в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения:
/ / ==UserScript==
/ / @name CF_DefaultLangSelect
/ / . . .
|
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
|
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
|