как текст в регулярку превратить?

aleksfid

Client
Регистрация
17.12.2015
Сообщения
448
Благодарностей
21
Баллы
18
как текст в регулярку превратить? хотяб шарпом.
Тексты постоянно разные и их надо искать на сайте.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113

aleksfid

Client
Регистрация
17.12.2015
Сообщения
448
Благодарностей
21
Баллы
18

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113
обработка текста - эскейп строки
Это превращение текста в регулярку.
Увы, как в кубиках сделать поиск по тексту не нашёл. Раньше был уверен, что есть.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113

aleksfid

Client
Регистрация
17.12.2015
Сообщения
448
Благодарностей
21
Баллы
18

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
C#:
string pattern = project.Variables["Text"].Value;
//pattern = Regex.Escape(pattern); // Escape строки (раскомментировать, если нужно)

Tab tab = instance.ActiveTab;
if (tab.IsBusy) tab.WaitDownloading();

Match match = Regex.Match(tab.PageText, pattern);
if (match.Success) return "yes";
return "no";
 

aleksfid

Client
Регистрация
17.12.2015
Сообщения
448
Благодарностей
21
Баллы
18

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113
не работает - значит текста искомого нет
 

aleksfid

Client
Регистрация
17.12.2015
Сообщения
448
Благодарностей
21
Баллы
18
C#:
string pattern = project.Variables["Text"].Value;
//pattern = Regex.Escape(pattern); // Escape строки (раскомментировать, если нужно)

Tab tab = instance.ActiveTab;
if (tab.IsBusy) tab.WaitDownloading();

Match match = Regex.Match(tab.PageText, pattern);
if (match.Success) return "yes";
return "no";
Спасибо. Работает и без эскейпа
 

aleksfid

Client
Регистрация
17.12.2015
Сообщения
448
Благодарностей
21
Баллы
18

aleksfid

Client
Регистрация
17.12.2015
Сообщения
448
Благодарностей
21
Баллы
18

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113
это не верная регулярка, она просто более удобная, и её генерирует зенно, если выделять текст из окна пм.
Если тебе хочется такую, после экранирования можешь в регулярке заменить "\ " на "\s+"
 

aleksfid

Client
Регистрация
17.12.2015
Сообщения
448
Благодарностей
21
Баллы
18
C#:
string pattern = project.Variables["Text"].Value;
//pattern = Regex.Escape(pattern); // Escape строки (раскомментировать, если нужно)

Tab tab = instance.ActiveTab;
if (tab.IsBusy) tab.WaitDownloading();

Match match = Regex.Match(tab.PageText, pattern);
if (match.Success) return "yes";
return "no";
Недочет сниппета. Срабатывает yes даже если одно слово совпадает.
"Всем" и "Всем привет!!!!!!" для него одно и тоже, и в итоге выдает "yes", а должно "no"
 

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