Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
9 / 9 / 1
Регистрация: 28.02.2013
Сообщений: 208
1

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

19.09.2014, 14:51. Показов 2252. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ввожу строку "1/3", а оттуда хочу достать только 1 и 3. Помогите составить регулярное выражение
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2014, 14:51
Ответы с готовыми решениями:

Регулярное выражение для получения числа
Извиняюсь конечно за столь наивный вопрос,но как с помощью регулярного выражения вынуть значение...

Регулярное выражение для получения строки с любыми символами по бокам
Есть выражение выбирающее айди меток: Regex rx = new Regex(@"<label id=""(.*)""...

Как через регулярное выражение узнать, присутствует ли в строке слеш?
Как через регулярное выражение можно было бы узнать присутствует ли в строке слеш "/" или нет...?...

Регулярное выражение для получения подстроки
Доброго времени суток, друзья! Имеется строчка: Поиск<sup class="tab-v93-l...

8
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
19.09.2014, 14:56 2
Ну, допустим так: "(\\d)/(\\d)".
1
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
19.09.2014, 14:57 3
goremukin, задачу сформулируйте конкретнее.
Попробуйте так:
Perl
1
/(\d)[^0-9](\d)/
или так:
Perl
1
/(\d)\/(\d)/
0
9 / 9 / 1
Регистрация: 28.02.2013
Сообщений: 208
19.09.2014, 15:09  [ТС] 4
Почему-то "/" тоже захватывает(

Вот часть кода
C#
1
2
3
4
5
6
7
8
9
10
public static Fraction Parse(String str)
        {
            string pattern = "(\\d)/(\\d)";
            Regex regex = new Regex(pattern);
            Match matches = regex.Match(str);
            if (!matches.Success)
                throw new ArgumentException("Incorrect input!");
            
            return new Fraction(); //тут я должен вернуть обе цифры
        }
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
19.09.2014, 15:13 5
goremukin, нужные вам переменный попадают в группирующие скобки.Извлеките их оттуда и получите числа.
Кстати,код-то на C#.
0
9 / 9 / 1
Регистрация: 28.02.2013
Сообщений: 208
19.09.2014, 15:19  [ТС] 6
Случайно перепутал раздел

Да, все ок. Там просто в 0-ой группе лежит 1/3, а в 1-ой и 2-ой значения. Спасибо
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2014, 15:28 7
Лучший ответ Сообщение было отмечено goremukin как решение

Решение

А зачем вообще регулярки для этого? Может, лучше обойтись без них? Нечто наподобие такого
C#
1
2
3
4
5
6
7
8
string[] numbers = str.Split('/');
int num1, num2;
if(numbers.Length == 2 && Int32.TryParse(numbers[0], out num1) && Int32.TryParse(numbers[1], out num2))
{
    //ok, в num1 и num2 лежат нужные числа
}
else
    throw new ArgumentException("Incorrect input!");
1
9 / 9 / 1
Регистрация: 28.02.2013
Сообщений: 208
19.09.2014, 17:40  [ТС] 8
ДА, так даже лучше, потому что маской только одна цифра заходит, а так норм
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2014, 17:42 9
Цитата Сообщение от goremukin Посмотреть сообщение
маской только одна цифра заходит, а так норм
плюсик надо добавить к последовательности
C#
1
@"(\d+)/(\d+)"
1
19.09.2014, 17:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2014, 17:42
Помогаю со студенческими работами здесь

Регулярное выражение для получения ссылки на картинку
Здравствуйте уважаемые форумчане. Есть необходимость парсингом из статей ВК получать ссылки на...

Регулярное выражение для получения содержимого тега
Здравствуйте. Пишу регулярное выражение, но почему то не находит <span...

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

Регулярное выражение для получения названия из html-кода
Доброго времени суток, имеется такой код <div class="postertitle"><a href="*ссылка*">Название /...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru