Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Викторка
-9 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 86
1

Регулярные выражение с#

22.05.2013, 00:10. Просмотров 1465. Ответов 8
Метки нет (Все метки)

не могу понять задание. требуется:
Вывести на экран все адреса украинских веб сайтов
содержащихся в файле.
Пример:
Исходный файл: Мне необходим доступ к сайту http://i.ua.
Сайт, имеющий адрес http://mail.ru временно недоступен.
Выведено на экран: http://i.ua.
Начинаю запускать программу и, простите, что мне в ней писать?
Мне вписывать текст?
код вот:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text.RegularExpressions;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            
            Console.WriteLine("Введите адрес исходного файла");
            //Читаем текст из файла
            string input = Console.ReadLine();
            string text;
            using (StreamReader reader = new StreamReader(input, Encoding.GetEncoding("windows-1251")))
            {
                text = reader.ReadToEnd();
                Console.WriteLine(text);
            }
            Console.ReadKey();
            // Работаем с регулярными выражениями
            string pattern = @"[h][t][t][p][:][/][/].*[.][u][a]";
            Regex regex = new Regex(pattern);
            Match match = regex.Match(text);
            Console.WriteLine("Aдрес был найден " + match.Value);
            Console.ReadKey();
            Console.ReadKey();
            // Записываем в файл
            Console.WriteLine("\nВведите полный адрес для сохранения конечного файла");
            string output = Console.ReadLine();
            File.WriteAllText(output, match.Value);
            Console.WriteLine("Файл записан");
            
        }
    }
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 00:10
Ответы с готовыми решениями:

Регулярные выражение. Найти число в строке
Есть много текста вида \b =39.7/1000000; (пробел) Как достать "39.7" Пытался и так и этак.. ...

Как правильно составить регулярные выражение
Всем привет. Нужно в элемент Webbrowser показать часть веб-страницы. Решил я загрузить html...

Регулярные выражение, как сделать не громоздко?
Добрый день! У меня есть задание для программы: программа считывает из файла записи об...

Регулярные выражение. Вытащить информацию из тегов<td></td>
Всем доброго времени суток. Мне нужно вытащить информацию из тегов&lt;td&gt;&lt;/td&gt; и &lt;span&gt;&lt;/span&gt;. ...

Поиск куска кода в странице (Регулярные выражение)
Всем привет . Пишу некий парсер групп в вк , с кровью и потом я сделал авторизацию . Так же...

8
Psilon
Master of Orion
Эксперт .NET
6049 / 4907 / 903
Регистрация: 10.07.2011
Сообщений: 14,520
Записей в блоге: 5
Завершенные тесты: 4
22.05.2013, 01:45 2
Во-первых есть не только Match, но и Matches. Во-вторых
C#
1
string pattern = @"[h][t][t][p][:][/][/].*[.][u][a]";
шозабред?
C#
1
string pattern = @"\bhttp://.+\.ua\b";
2
memphis
630 / 191 / 66
Регистрация: 12.12.2012
Сообщений: 385
22.05.2013, 02:03 3
Цитата Сообщение от Psilon Посмотреть сообщение
\.
Psilon, только знаете что. А не возьмёт ли в этом случае запятую? У меня разделитель целых и дробных разрядов (в системе) - запятая. Спрашиваю, потому, что не знаю.
0
Psilon
Master of Orion
Эксперт .NET
6049 / 4907 / 903
Регистрация: 10.07.2011
Сообщений: 14,520
Записей в блоге: 5
Завершенные тесты: 4
22.05.2013, 02:05 4
memphis, где возьмет?
|http://что-то.ua| возьмет, ни больше ни меньше.
0
22.05.2013, 02:05
memphis
630 / 191 / 66
Регистрация: 12.12.2012
Сообщений: 385
22.05.2013, 02:19 5
Я вот о чём. Конструкция \. - Поиск одиночного вхождения разделителя целой и дробной частей. А откуда программа берёт этот разделитель? Из настроек системы?

Добавлено через 6 минут
Наверное я глупость глупую спросил. Сорри.
0
Викторка
-9 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 86
22.05.2013, 03:16  [ТС] 6
Psilon, простите, а где в той строчке "i"? В виде чего мы её представили? "
"@"\bhttp://.+\.ua\b"". И зачем нам "+"?
Спасибо
0
Psilon
Master of Orion
Эксперт .NET
6049 / 4907 / 903
Регистрация: 10.07.2011
Сообщений: 14,520
Записей в блоге: 5
Завершенные тесты: 4
22.05.2013, 09:19 7
memphis, \. это просто точка. В конце адреса обычно точка стоит, а потом имя домена...


Викторка, а при чем тут i?
а + затем, что http://.ua не является допустимым адресом.
0
Викторка
-9 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 86
22.05.2013, 14:46  [ТС] 8
Psilon, как это причём здесь "і"? нам же из несколько сайтов нужно взять именно http://i.ua. И как программа может понять что мне нужен именно этот, не написав название сайта http://i.ua?? объясните, а то не могу понять!
0
N!K
19 / 19 / 1
Регистрация: 04.03.2010
Сообщений: 86
22.05.2013, 16:46 9
Цитата Сообщение от Викторка Посмотреть сообщение
Вывести на экран все адреса украинских веб сайтов
вот Psilon вам и написал регулярку для поиска http://что-то.ua.


Цитата Сообщение от Викторка Посмотреть сообщение
нам же из несколько сайтов нужно взять именно http://i.ua
может тогда просто считывать из файла данные построчно и проверять их на равенство http://i.ua

Кстати, если есть адреса с протоколом https, то добавьте: "@"\bhttp[s]?://.+\.ua\b""
0
22.05.2013, 16:46
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2013, 16:46

Регулярные выражение
Всем привет. Как с помощью pattern и matcher вывести все числа, но только после определенного...

Регулярные выражение
Доброго времени суток!! Я понимаю, что мой вопрос для кого-то покажется простым , но все же... ...

Регулярные выражение
Помогите пожалуйста составить регулярное выражение. Задача такая: Нужно раскрасить весь текст...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.