2 место Регулярные выражения, что это такое и с чем их едят?

Эх просто мне не дается что то эта наука.
 
Эх просто мне не дается что то эта наука.

Внимательно читайте, пробуйте и со временем получится.
Тут нельзя один раз прочитать и выучить. Тут нужно пробовать и со временем придёт понимание.
 
  • Спасибо
Реакции: Sapfire65
Эх просто мне не дается что то эта наука.
просто нужно не тупо прочитал и забыл ))) а прочитал и 20 примеров сделал, а лучше как ДОК делать! Помогай на форуме всем незнающим и через некоторое время ты обнаружишь, что стал гуру регулярок )))
 
  • Спасибо
Реакции: Sapfire65
просто нужно не тупо прочитал и забыл ))) а прочитал и 20 примеров сделал, а лучше как ДОК делать! Помогай на форуме всем незнающим и через некоторое время ты обнаружишь, что стал гуру регулярок )))
Дело в том, что новый предмет разные учителя могут преподавать по своему. Я привык воспринимать новую информацию с подробными примерами. Мол есть текст, вот он. Нужно получить результат вот этот. И разбор методов составления регулярок, по данному конкретному случаю. И обсуждение различий методов.

Так как написано в вики - это сложно для моего понимания. Слижком узкое описание без так сказать "приближенных боевых условий".
Прочитав вики я понял только 30% примерно. Причем понял я всего лишь правила. А для чего я могу применить тот или иной вариант регулярного выражения не очень понятно.
 
Дело в том, что новый предмет разные учителя могут преподавать по своему. Я привык воспринимать новую информацию с подробными примерами. Мол есть текст, вот он. Нужно получить результат вот этот. И разбор методов составления регулярок, по данному конкретному случаю. И обсуждение различий методов.

Так как написано в вики - это сложно для моего понимания. Слижком узкое описание без так сказать "приближенных боевых условий".
Прочитав вики я понял только 30% примерно. Причем понял я всего лишь правила. А для чего я могу применить тот или иной вариант регулярного выражения не очень понятно.
ну в начале топика всё с примерами
 
  • Спасибо
Реакции: masterLomaster
Дело в том, что новый предмет разные учителя могут преподавать по своему. Я привык воспринимать новую информацию с подробными примерами. Мол есть текст, вот он. Нужно получить результат вот этот. И разбор методов составления регулярок, по данному конкретному случаю. И обсуждение различий методов.

Так как написано в вики - это сложно для моего понимания. Слижком узкое описание без так сказать "приближенных боевых условий".
Прочитав вики я понял только 30% примерно. Причем понял я всего лишь правила. А для чего я могу применить тот или иной вариант регулярного выражения не очень понятно.
на ютубе видики поищи если написанное плохо воспринимаешь, сам так делаю!
зы: ты с Сахалина?
ну в начале топика всё с примерами
иногда нужно наглядно и с кучей примеров чтобы понять, но в большинстве случаев нужна просто практика, так как просто смотреть бесполезно!
Правильно говорят, чтобы через руки доходило, тоесть пока сам 50 раз не сделаешь то и не поймешь!
 
Я с Волгоградской области. Дело не в гео-локации XD а типе мышления.
Про себя знаю одно, постигаю в деталях. Зато патом не забуду никогда.

Тип мышления формируется на основе учителей. Которые встречаются на жизненном пути.
 
  • Спасибо
Реакции: Sapfire65
  • Спасибо
Реакции: A1ex
Ох тыж ёЁжик :-) СПАСИБО! обязательно все гляну.
 
Ребят, уже долго мучаюсь. Не получается у меня регулярочка одна. Может кто знает такую.

Я хочу привести небольшой массив текста в порядок. Из текста как говорят СТЕНОЙ.
Хотелось бы указать рандомное количество точек, вопросительных и восклицательных знаков. Что отвечают за конец предложения.
И заменить их на {-String.Enter-}{-String.Enter-}

Точнее сказать что нужно найти пробел, например 4й, перед которым был знак препинания. И что бы после знака был пробел или заглавная буква.
На случай слитного текста.
 
И так, те кто искал и не смог найти решение на мой вопрос выше.
Человек, не человек а ЧЕЛОВЕЧИЩЕ! Любезно написал скриптик на C#
http://zennolab.com/discussion/members/dmitrybyapple.9079/

А вот и сам скрипт:

Random rnd = new Random();
int leng = rnd.Next(150, 2000);
string text = project.Variables["text"].Value;
string st = "";

do
{
string tes = "";
if (text.Length > leng)
{
tes = "\r\n" + "\r\n" + "\t" + text.Substring(0, leng);
text = text.Substring(leng);


int[] mas = { 0, 0, 0 };

int a0 = mas[0] = text.Split('.')[0].Length;
int a1 = mas[1] = text.Split('!')[0].Length;
int a2 = mas[2] = text.Split('?')[0].Length;

int min = mas.Min();

if (min == a0)
{
tes += text.Split('.')[0] + ".";
st += tes;
int sub = text.Split('.')[0].Length + 2;
if (text.Length > sub)
text = text.Substring(sub);
}

if (min == a1)
{
tes += text.Split('!')[0] + "!";
st += tes;
int sub = text.Split('.')[0].Length + 2;
if(text.Length > sub)
text = text.Substring(sub);
}

if (min == a2)
{
tes += text.Split('?')[0] + "?";
st += tes;
int sub = text.Split('.')[0].Length + 2;
if (text.Length > sub)
text = text.Substring(sub);
}

}
else
{
//tes = "\r\n" + "\t" + text;
//st += tes;
project.Variables["text_1"].Value = st.Substring(4);
return "ok";
}
} while (true == true);


Спасибо ему огромное за без отказность человеческую! Не первый раз выручает.
 
  • Спасибо
Реакции: A1ex и kagorec
Вставь в тег кода, чтоб правильно отображалось. И будь добр вкратце опиши что сие творение делает с текстом?
 
Вставь в тег кода, чтоб правильно отображалось. И будь добр вкратце опиши что сие творение делает с текстом?
похоже на нарезку текста кусками рандомной длины по концу предложения. Крайне вычурным способом
 
  • Спасибо
Реакции: kagorec
А ну это же одна регулярка по нарезке твитов из объемной статьи.
Код:
Развернуть Свернуть Копировать
([A-ZА-Я]+) ([^\.\?\!]{50,145})(\. |! |\? )
на
$1 $2
 
А ну это же одна регулярка по нарезке твитов из объемной статьи.
Код:
Развернуть Свернуть Копировать
([A-ZА-Я]+) ([^\.\?\!]{50,145})(\. |! |\? )
на
$1 $2
ну там длина куска рандомится от 150 до 2000 символов. Одной регуляркой такое не замутить. Цикл нужен
 
Сие творение дробит большой текст на рандомной длинны обзацы. С табуляцией. По окончанию предложения, да. Количество рандома регулируеться. Не всегда сробатывает корректно но в 90% случаев то что нужно. Всмысле не срабатывает корректно кагда ставиш доугой рандом. Один раз настроил как нужно и все. Мне очень понравилось как работает скрипт. Так как сам ни C# не пишу.
 
Мне это было нужно для разбивки большого сплошного текста в читабильный формат.
 
Делал для таких целей шаблон когда то.
Формирование из большого непонятного текста случайных предложений, абзацев, внутренних списков и таблиц. С чисткой тошноты, расстановкой ключей и т.д.
 
А куда вставить переменную в которой находится текст {-Variable.Variable1-} ???

в строке string text = project.Variables["text"].Value;

text - это имя переменной, из которой берутся данные.
 
string text = project.Variables["{-Variable.Variable1-}"].Value;
-так пробовал выдает ошибку (Выполнение действия CSharp OwnCode No Such Variable)
Пробую другую переменную- выдает ошибку "Компиляция кода. Ошибка в действии "CS....."...

Может, то что работаю в версии 5.9.9.1
Ну да ладно. Не буду топик засорять.
 
string text = project.Variables["{-Variable.Variable1-}"].Value;
-так пробовал выдает ошибку (Выполнение действия CSharp OwnCode No Such Variable)
Пробую другую переменную- выдает ошибку "Компиляция кода. Ошибка в действии "CS....."...

Может, то что работаю в версии 5.9.9.1
Ну да ладно. Не буду топик засорять.

string text = project.Variables["Variable1"].Value;
 
  • Спасибо
Реакции: A1ex
Вдруг найдется такой же неуч в C++ как я. :-)
string text = project.Variables["Variable1"].Value; /*за место Variable1 прописываем название своей переменной откуда брать текст,если {-Variable.text_original-} , то прописываем text_original. */
project.Variables["text_sabzacami"].Value = st.Substring(4); /*за место text_sabzacami прописываем название своей переменной куда положить текст с абзацами,если {-Variable.text_sabzacami-} , то прописываем text_sabzacami. */
 
([A-Za-z0-9-]+) Буквы, числа и знаки переноса
(\d{1,2}\/\d{1,2}\/\d{4}) Дата (напр., 21/3/2006)
([^\s]+(?=\.(jpg|gif|png))\.\2) Имя файла jpg, gif или png
(^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$) Любое число от 1 до 50 включительно
(#?([A-Fa-f0-9]){3}(([A-Fa-f0-9]){3})?) Шестнадцатиричный код цвета
((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,15}) От 8 до 15 символов с минимум одной цифрой, одной заглавной и одной строчной буквой (полезно для паролей).
(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6}) Адрес email
(\<(/?[^\>]+)\>) HTML теги

Хорошая шпаргалка по регулярным выражениям.
 

Вложения

([A-Za-z0-9-]+) Буквы, числа и знаки переноса
(\d{1,2}\/\d{1,2}\/\d{4}) Дата (напр., 21/3/2006)
([^\s]+(?=\.(jpg|gif|png))\.\2) Имя файла jpg, gif или png
(^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$) Любое число от 1 до 50 включительно
(#?([A-Fa-f0-9]){3}(([A-Fa-f0-9]){3})?) Шестнадцатиричный код цвета
((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,15}) От 8 до 15 символов с минимум одной цифрой, одной заглавной и одной строчной буквой (полезно для паролей).
(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6}) Адрес email
(\<(/?[^\>]+)\>) HTML теги

Хорошая шпаргалка по регулярным выражениям.
Часть упрощается, часть нерабочая, часть вовсе ненужная. Не устоит учить таким регуляркам неокрепшие умы. Окрепшим тоже такое не нужно
 
  • Спасибо
Реакции: ramzes8, A1ex и kagorec
(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6}) Адрес email
123.sample@gmail.com Как эта и остальные регулярки нерабочие. Удалите этот мануал, лучше основы познавать экспериментируя в онлайн проверке.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)