Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 20.06.2006
Сообщений: 71

RegExp

26.01.2007, 15:39. Показов 5735. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
А как обнулить коллекцию??? а то когда по новой ищеш match он добавляет к старым матчам!?!?!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.01.2007, 15:39
Ответы с готовыми решениями:

RegExp и русский язык...
Можно ли (и каким образом)заставить RegExp должным образом работать в том случае, когда в регулярном выражении фигурируют русские буквы? ...

помогите с RegExp на ASP
помогите разобраться с парсингом страницы. Текст находится между <td width='86%'> и </td> Я пишу regEx.Pattern = '<td...

RegExp... Выделение текста из кавычек.
Доброго времени суток!!! Вопрос: 1. Есть строка: *text1*text2*text3 2. Необходимо: выделить текст из кавычек. 3....

26
0 / 0 / 0
Регистрация: 26.12.2007
Сообщений: 435
09.01.2008, 08:28
Люди, помогите разобратся с етой функцией.
0
ars
14.01.2008, 11:54
В чем именно разобраться?
0 / 0 / 0
Регистрация: 02.01.2008
Сообщений: 81
14.01.2008, 12:52
Кстати о птичках, я бы сам послушал чего-нить интересного про поддержку RegEx в других языках. Как она реализована и насколько быстро работает? И есть ли в ASP поддержка PCRE (Perl Compatible Regular Expressions)?
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
14.01.2008, 13:17
Как-то в одном форуме я наткнулся на фразу, что автору удалось перевести все свои RegExp из Perl на VBScript.

Это было в конференции microsoft.public.scripting.vbscript
0
0 / 0 / 0
Регистрация: 26.12.2007
Сообщений: 435
17.01.2008, 09:00
да вообще, что это такое, что она делает, хотя бы в общих словах
0
2 / 2 / 0
Регистрация: 06.12.2007
Сообщений: 114
17.01.2008, 09:18
это мощный инструмент обработки тескста (поиск, замена), аналогов я пока не видел.
0
0 / 0 / 0
Регистрация: 02.01.2008
Сообщений: 81
17.01.2008, 13:22
2t1k
Спорим, я тебе напишу выражение на Перле, которое ты никак не сможешь перевести в ASP?

2aaf
Цитирую:
Регулярные выражения представляют собой средства для поиска и обработки строк по шаблонам. Любое регулярное выражение представляет собой набор цифр, букв, знаков и символов-шаблонов (!!!), описывающих искомое выражение. Символы-шаблоны заменяют один или более обычных символов. Например, такой символ-шаблон . обозначает любой символ...

ну и так далее...
А вообще, средство очень нестандартное и привыкать к нему очень сложно. Зато результаты поистинне впечатляющие. Соббсно, все прелести Perl как раз и заключаются в регулярных выражениях. Если бы не они, он бы потерял всю свою популярность и 'оссобенность', выделяющую его среди других языков.
Ну а самих регулярных выражений существует несколько стандартов. Наиболее распространенные это - RegEx, PCRE (Perl Compatible Regular Expressions) + регулярные выражения из Perl.
(Для тех кто не в курсе, PCRE это не копия Perl'овых выражений, это лишь слабая попытка их имитировать. Синтаксис там тот-же, но возможностей намного меньше. Но это просто связанно со спецификой использования PCRE, это просто порт на остальные языки, со всеми их недостатками.)
RegEx - это стандарт рег. выражений UNIX'a. Опять таки, сейчас существуют реализации для большого количества языков и платформ. Многих возможностей Perl он не имеет, но для подавляющего большинства задач их вполне хватает. И начинать с них проще.

Ну а теперь, соббсно, мой вопрос для знающих людей: Какой стандарт используется в ASP? Есть большие подозрения, что RegEx, но не уверен...
0
Sergik
17.01.2008, 14:15
именно RegExp, несколько отличающийся от использованного в PHP
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
17.01.2008, 14:20
2 DarkStorm:
Хоть я и не утверждал (напоминаю, я читал об одном челе, который перевел все свои регэкспы из перла), что переведу любое рег. выражение Перл в VBScript RegExp, но давай, попробую потренироваться.
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
17.01.2008, 15:16
2 DarkStorm:
Где же обещанное регулярное выражение на Перл?
0
0 / 0 / 0
Регистрация: 02.01.2008
Сообщений: 81
17.01.2008, 16:28
2 t1k
Говорю сразу, тот пример который я тебе сейчас дам не один нормальный человек на выражениях делать не станет. Это просто демонстрация того что может Перл.
ТАК использовать обратные ссылки не сможет ни один из других языков.
Задача: разложение числа на простые множители. (!!!)
Perl
1
2
3
4
5
#!/usr/bin/perl
for ($N = ('o' x shift); $N =~ /^(oo+?)1+$/; $N =~ s/$1/o/g) {
    print length($1), ' ';
}
print length ($N), '';
Сорри, но пример не мой. К сожалению, я на такие извращения не способен. Если не веришь, можешь попробовать...
Если не разбираешся в Перл'е, пиши, расскажу как оно работает...
0
0 / 0 / 0
Регистрация: 02.01.2008
Сообщений: 81
17.01.2008, 16:42
Могу еще подкинуть задачку на поиск в строке с таблицей символов состоящих из более чем одного байта.
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
17.01.2008, 17:04
По поводу первого примера в Перл я не спец поэтому не могу не только преобразовать в VBScript, но и даже понять что он делает.

Речь же шла о регулярных выражениях.

А по поводу второй задачки, давай, только лучше без программы на Перл, одну формулировку
0
0 / 0 / 0
Регистрация: 02.01.2008
Сообщений: 81
18.01.2008, 14:37
2t1k
Perl
1
for ($N = ('o' x shift); $N =~ /^(oo+?)1+$/; $N =~ s/$1/o/g)
а чем тебе не подходит этот цикл? все три условия (начальное, условие завершения и инкремент) состоят из регулярных выражений...
могу на пальцах рассказать что каждая из этих фраз делает... и переведи их в VBScript...
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
18.01.2008, 23:35
После установки ActiveState Perl и прочтения perlre, perlop и perlfunc возник вот такой перевод
Visual Basic
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
' Т.к. в VBScript регулярные выражения реализуются 
' через внешние объекты, то их надо объявить заранее
 
' Регулярное выражение, которое используется в проверке
' на выход из цикла for
Set oRE1 = New RegExp
oRE1.Pattern = '^(oo+?)1+$'
 
' А это регулярное выражение, используется для приращения
' переменной цикла for
Set oRE2 = New RegExp
oRE2.Global = True
 
' в VBScript нет цикла for в смысле C, однако его легко имитировать
' 1000000 намек на то что Perl программа с разложением такого числа
' на простые множители вылетела в runtime error, а VBScript программа
' без проблем отработала
cString = String(1000000,'o') ' $N = ('o' x 1000000);
 
Do While oRE1.Test(cString) ' $N =~ /^(oo+?)1+$/;
    oRE2.Pattern = oRE1.Execute(cString)(0).Submatches(0) ' $N =~ /^(oo+?)1+$/;
    MsgBox Len(oRE2.Pattern) ' print length($1)
    cString = oRE2.Replace(cString,'o') ' $N =~ s/$1/o/g
Loop
 
MsgBox Len(cString) ' print length ($N)
0
0 / 0 / 0
Регистрация: 02.01.2008
Сообщений: 81
20.01.2008, 12:46
2 t1k

ГероЙ!!! Полез, разобрался в чужом языке, и дядьку Storm'a в некую субстанцию окунул! Признаю свою полную неправоту! Тока ведь, как я посмотрю, VBS и Perl используют одинаковый синтаксис... а я думал, что разный и совсем не такой... Мне тут кто-то доказывал, что это стандартный RegEx, а получается довольно неплохая реализация PCRE.

Могу еще заморочек подкинуть... но только я вижу, что перевести все равно сможешь... так, для тренировки мозгов.
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
20.01.2008, 12:56
Ну если один и тот же синтаксис, то не надо.
Я на самом деле тоже слышал про PCRE, а посмотреть лень было.
Вот думал, что сейчас (переводя твой пример) и разберусь.
А оказалось, что я их давно использую. Приятно, конечно.
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
20.01.2008, 13:13
Класс!

А не мог бы DarkStorm объяснить, почему программа на перле вылетает при больших чслах? Я не поленился и нашел что в моем случае (я использовал Cygwin для экспериментов) програмка предоставленная DarkStorm перестает возвращать какие-либо результаты после параметра 12397. Почему?

С уважением, Владимир
0
Sergik
20.01.2008, 15:16
ну так же не напишешь на vbs:
Code
1
s/^([^ ]*) *([^ ]*)/$2 $1/
переставление слов местами
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.01.2008, 15:16
Помогаю со студенческими работами здесь

Использование RegExp для граббинга новостей
Читаю скриптом html-страницу в строковую переменную и разбираю ее с помощью RegExp. Из кода: <tr class='first'><td...

помогите с RegExp, обрезать все вокрус символов
Добрый день, Помогите плиз с RegExp паттерном/функцией, обрабатывающим строку вида aaabbbbbbbbbbbbbbbbccccc так, чтобы от bbb (либо от...

опять Regexp
есть такой текст .".!.9.8.........5............... ... .........3.2.....E.D...../...A.................................I......... ...

подсветка RegExp
Здравствуйте. Пишу программу на C#. Есть необходимость писать регулярные выражения, ну скажем в компоненте richTextBox(не...

разбор кода с помощью RegExp'ов
Доброго времени суток. Товарищи помогите пожалуйста начинающему программисту! Необходимо написать на C# программу выполняющую построенние...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru