сабж.) Code: <div class="textarea1" style="margin-top:20px;"><textarea rows="" cols="" name="insert"> здесь будет уникальный текст)) очень ценный текст... </textarea></div> вопрос. как вытянуть "здесь будет уникальный текст)) очень ценный текст... " с помощью regex. спасибо))
Зачем эти извращения с регулярками? Ипользуйте DOM-парсеры уже наконец. Ну если так уж хочется регулярки, то ок, держи Code: <div class="textarea1".*?<[^>]*>([^<]*)</
Вы наверное шутите? И чем же они лучше?Нет, я не спорю, что в отдельных моментах так оно и есть, но если нужен универсальный парсер, что бы ваять разнообразнишые группы, значения, логические структуры - то Regex даст фору.
HTML нерегулярный язык, к нему просто не применимы регулярные выражения. Для каждой задачи должен быть свой инструмент, так вот Regex - инструмент совсем не для этой задачи. Для этой задачи подошел бы идеально HTML Agility Pack
еще не тестил ваши регулярку, будет доступ к пк посмотрю) по поводу DOM-парсеров, согласен с Spot, вот почему 1. (не уверен полностью но идея такая) по нужен XHTML чтоб DOM создавался без проблем 2. драгоценное время! пока создается DOM, рабочий regex в 10 раз прокатит этот текст и вытенит из него нужное
Время выполнения дольше, но не на много. Скорость разработки повышается. Сопровождать легче. Ошибки выявить и исправить легче. Может у вас какие-то другие представления в разработке ПО? Да и если время такое драгоценное, что разница в полсекунды существенна, то почему тогда был выбрал язык C#? На чистом Си, или вообще асме, писать тогда нужно. Вот тесты если что (3 прогона по 25 повторов, выдирается около 40 строк из таблицы HTML): Code: RegExp: 00:00:00.9800561 DomParser: 00:00:01.5200869 RegExp: 00:00:01.0900623 DomParser: 00:00:01.0720614 RegExp: 00:00:00.9660553 DomParser: 00:00:01.0090577
Дело в том, что подходы принципиально разные: DOM : можно вырвать те или иные элементы страницы. Одним словом - специализированный парсер. Regex: спектр поиска заданным критериям намного шире. Универсальный логический парсер. Это все равно, что представить поиск по сайту: Простой - вбили предложения или словосочетание и получили результаты. Расширенный - задали категорию, дату, автора, название {...} и получили более специализированный результат и/или группу результатов с определенным диапозоном критерий. Минус у regex, на мой взгляд, это большой функционал, и что бы пользоваться им в полной мере, составляя грамотные конструкты - нужно время. Пол года назад я писал для фирмы, в которой работал подобный тул - впринципе ничего сложного, самое трудно на мой взгляд - это управление синтаксом. После 3 дней мне показалось, что я в полной мере освоил конструирование логических правил - как оказалось ничего подобного, увидев конструкт длинной в 229 символов я был весьма удивлен.
По поводу регулярок если не правильно составил то проц будет грузить оч хоорошо, особенно если злоупотреблять . , работать с DOM считаю нужно в случаях когда проще использоать его ибо регулрка будет хз какой длины соответственно сьест все рес-сы.
не стал создавать новый топик. подскажите регулярное выражение. есть строка из Nго количества символов, надо забрать последние 4е. substr не предлагать. спасибо!