Аннотация :
Словосочетание «регулярные выражения», прямой перевод английского «Regular expressions», звучит довольно неуклюже. Однако оно уже настолько прижилось, что попало в словари, поэтому придется использовать именно его – за неимением лучшего.
Я не очень понял, что имелось в виду под шаблоном XXX. Это случаем не класс CAltRegExp?
VBScript RegExp, насколько я знаю, очень сильно отличается по возможностям от RegExp’а в JScript или .Net. Я думаю, на это стоило бы обратить внимание по тексту. Не исключаю, что в какой-нить последней версии это исправилось. У меня стоит VS.net RC1, IE6, Windows 2000.
Для полноты можно было бы упомянуть язык Rexx, в котором тоже были встроенные регулярные выражения, правда, не сильно навороченные.
И кажется неправильным утверждать, что RegExp встроен только в Perl. В том же самом объеме он встроен и в JScript, где он является синтаксическим элементом в варыжениях типа re = /regexp/flags;
Так называемые "регулярные выражения" современного программирования — появились не с ПЕРЛом, а гораздо раньше!
Уже в 1960-ых годах ими вовсю пользовались программеры фирмы АТТ, разработавшие язык СНОБОЛ. ИМХО, "структурные образцы" в СНОБОЛе были гораздо мощнее нынешних "регулярных выражений". Чего стоит — хотя бы — возможность формировать новые образцы из прежде определенных! А возможность управления откатами! И т.д. и т.п....
Сейчас такое делается только на ПРОЛОГе, но и он, увы, выходит из моды...
Короче, последние времена!
Еще пример использования с помощью Regex+
От:
Аноним
Дата:
23.08.02 09:27
Оценка:
Adding Regular Expressions to Your App with Regex++
A tutorial to demonstrate adding regular expressions to your project using Regex++ from boost.org.
Проверка начала или конца строки производится с помощью метасимволов ^ и $. Например, "^thing" соответствует строке, начинающейся с "thing". "thing$" соответствует строке, заканчивающейся на "thing". Эти символы работают только при включенной опции 's'. При выключенной опции 's' находятся только конец и начало текста. Но и в этом случае можно найти конец и начало строки, используя escape-последовательности \A и \Z. Все это относится только к Perl-совместимым реализациям. Остальные же будут искать только конец и начало текста. В .Net имеется еще и символ \z, точный конец строки.
Здравствуйте, Аноним, Вы писали:
А>Зджесь, кажется ошибка
А>
А>Концы и начала строк
А>Проверка начала или конца строки производится с помощью метасимволов ^ и $. Например, "^thing" соответствует строке, начинающейся с "thing". "thing$" соответствует строке, заканчивающейся на "thing". Эти символы работают только при включенной опции 's'. При выключенной опции 's' находятся только конец и начало текста. Но и в этом случае можно найти конец и начало строки, используя escape-последовательности \A и \Z. Все это относится только к Perl-совместимым реализациям. Остальные же будут искать только конец и начало текста. В .Net имеется еще и символ \z, точный конец строки.
А>Наверное имелось в виду не 's', а 'm'?
+1 — судя по ману perlre.
The God is real, unless declared integer.
Re: Регулярные выражения
От:
Аноним
Дата:
03.11.08 22:39
Оценка:
Здравствуйте, Михаил Купаев, Вы писали:
Что-то я не понял. Делаю по статье дотнетный регексп вида "[0123456789]{9}", а IsMath Возвращает true не только для 123456789, но и для 123456789йцукен. Объясните, где я не прав?
Re[2]: Регулярные выражения
От:
Аноним
Дата:
22.12.08 07:22
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Михаил Купаев, Вы писали:
А>Что-то я не понял. Делаю по статье дотнетный регексп вида "[0123456789]{9}", а IsMath Возвращает true не только для 123456789, но и для 123456789йцукен. Объясните, где я не прав?
Все правильно. В "123456789йцукен" 9 цифр есть. А то, что регэксп после цифр должен заканчиваться, в нем не написано. Т.е. должно быть что-то типа ^[0-9]{9}$
Здравствуйте, netch80, Вы писали:
N>Здравствуйте, Аноним, Вы писали:
А>>Зджесь, кажется ошибка
А>>
А>>Концы и начала строк
А>>Проверка начала или конца строки производится с помощью метасимволов ^ и $. Например, "^thing" соответствует строке, начинающейся с "thing". "thing$" соответствует строке, заканчивающейся на "thing". Эти символы работают только при включенной опции 's'. При выключенной опции 's' находятся только конец и начало текста. Но и в этом случае можно найти конец и начало строки, используя escape-последовательности \A и \Z. Все это относится только к Perl-совместимым реализациям. Остальные же будут искать только конец и начало текста. В .Net имеется еще и символ \z, точный конец строки.
А>>Наверное имелось в виду не 's', а 'm'?
N>+1 — судя по ману perlre.
-1
речь идет о модификаторе ///s, а не функции s///
У меня отвлечённый вопрос по картинкам из ститьи. У одного меня они "смазанные"? Такое ощущение как будто их сфотографировали с плохо настроенного LCD дисплея, причём фото получилось без артефактов в виде всяких бликов, засветов и т.д. Или это такая "усовершенствованная" функция скриншота, которая читает скриншот прям c монитора?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]