Не работает регулярное выражение

ZSHab

Client
Регистрация
29.10.2014
Сообщения
220
Благодарностей
22
Баллы
18
Пытаюсь сделать обработку текста от мусора, через регулярные выражения.
Нашёл вот такой софт: ссылка на софт (не здесь скачивал)

Суть проблемы:
Есть регулярное выражение: ^.*[^\.\!\?](\r\n)
Тестовый текст:
If you’re keen on sports betting online, then there aren’t many website options that can even compete with Bovada. People who have penchants for gambling on the Internet often can’t turn away from this option. It presents users with an abundance of diverse choices as well. Some examples of these are baseball, basketball, and golf. It doesn’t matter what your specific sport preferences are. Bovada can help you attain an online betting experience that’s one for the record books, period. When you’re on the lookout for the best sports betting sites, then Bovada without a doubt should be on your radar. Fans of sports betting online frequently gravitate to Bovada and to all of its choices. Registration with Bovada can be a delight as well. That’s due to the fact that newbies can receive thrilling perks as incentives. If you like the concept of betting on hockey, basketball and the like, then you won’t be able to resist paying a visit to Bovada. Tennis bets have never been quite so pleasant online.

Best esports betting sites for United States.
EsportBet.com is the home of esports betting in the USA! We take great pride in delivering the best picks and predictions articles, reviewing the best esports betting sites and making sure you have a safe and enjoyable time while you are betting on professional video games. Some of the most popular esports to bet on in 2020 include League of Legends, Call of Duty, Fortnite and CS:GO, with betting markets available at the top sportsbooks all year round. Our top esports betting sites for the USA in 2020 are:
Best eSports betting sites for USA.
BetOnline.
50% matched deposit up to USD $5,000.
В Notepad++ находит текст:
EsportBet.com is the home of esports betting in the USA! We take great pride in delivering the best picks and predictions articles, reviewing the best esports betting sites and making sure you have a safe and enjoyable time while you are betting on professional video games. Some of the most popular esports to bet on in 2020 include League of Legends, Call of Duty, Fortnite and CS:GO, with betting markets available at the top sportsbooks all year round. Our top esports betting sites for the USA in 2020 are:
В Конструкторе регулярных выражений- не находит данный текст, в чём может быть причина?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 352
Благодарностей
3 279
Баллы
113

ZSHab

Client
Регистрация
29.10.2014
Сообщения
220
Благодарностей
22
Баллы
18

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 433
Благодарностей
1 280
Баллы
113
Пытаюсь сделать обработку текста от мусора, через регулярные выражения.
Нашёл вот такой софт: ссылка на софт (не здесь скачивал)

Суть проблемы:
Есть регулярное выражение: ^.*[^\.\!\?](\r\n)
Тестовый текст:
В Notepad++ находит текст:

В Конструкторе регулярных выражений- не находит данный текст, в чём может быть причина?
А такой вариант вам не подходит? Код: (?<=United\ States\.)[\w\W]*(?=Best\ eSports)
62460
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 352
Благодарностей
3 279
Баллы
113

ZSHab

Client
Регистрация
29.10.2014
Сообщения
220
Благодарностей
22
Баллы
18
А такой вариант вам не подходит? Код: (?<=United\ States\.)[\w\W]*(?=Best\ eSports)
Такое не подходит, так как нужно большое количество разных предложений находить
Вот полный список регулярок и что они должны находить:

Регулярные выражения:
^.*[^\.\!\?](\r\n)                                            //UNI - Удалять предложения без знаков препинания в конце
^.{0,5}$                                                //UNI - Удалять предложения длинной менее 6 символов
^[^А-ЯЁA-Z]                                                //UNI - Удалять предложения, начинающиеся не с заглавной буквы
^([^\s]+\s?){0,3}$                                                    //UNI - Удалять предложения, в которых менее 4 слов
^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$                                //UNI - Удалять предложения, в которых содержиться электронная почта
^.*(www\.|http|\[URL=\S+).*(\r\n|$)                                    //UNI - Удалять предложения, в которых содержиться www http
^.*(www\.|https|\[URL=\S+).*(\r\n|$)                                    //UNI - Удалять предложения, в которых содержиться www http
^(\s*)?(\+)?([- _():=+]?\d[- _():=+]?){10,14}(\s*)?$                                        //UNI - Удалять предложения, в которых содержиться телефон
(?:\+|\d)[\d\-\(\) ]{9,}\d/g                                        //UNI - Удалять  телефон 2
^\+\d{2}\(\d{3}\)\d{3}-\d{2}-\d{2}$                                    //UNI - Удалять  телефон 3
^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$                            //UNI - Удалять  телефон 4
^((((\(\d{3}\))|(\d{3}-))\d{3}-\d{4})|(\+?\d{2}((-| )\d{1,8}){1,5}))(( x| ext)\d{1,5}){0,1}$        //UNI - Удалять  телефон 5
1?\W*([2-9][0-8][0-9])\W*([2-9][0-9]{2})\W*([0-9]{4})(\se?x?t?(\d*))?                     //UNI - Удалять  телефон 6
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$                      //UNI - Удалять предложения, в которых содержиться домен
^[\w ]*([^\w\r\n$ ][\w ]*){10,}\r\n                                     //UNI - Удаляем строки, где от 30 шт. не буквенно-циферных знаков (много мусора)
^[\w ]*([^\w\r\n$ ]{4,}[\w ]*)\r\n                                                  //UNI - Удаляем строки, где подряд от 4 шт. не буквенно-циферных знаков (мусор):
[A-Z]{2}                                                //EN  - Удалять предложения, в которых присутствует 2 и более подряд идущих заглавных букв
[^a-z0-9A-Z \-\:\(\)\"\—\…,]                                                        //EN  - Удалять предложения, в которых присутствуют любые символы отличные от АНГЛИЙСКИХ букв, цифр, тире и запятой
[А-ЯЁ]{2}                                                //RU  - Удалять предложения, в которых присутствует 2 и более подряд идущих заглавных букв
[^а-я0-9ёА-ЯЁ \-\:\(\)\"\—\…,]                                                        //RU  -Удалять предложения, в которых присутствуют любые символы отличные от русских букв, цифр, тире и запятой
 

ZSHab

Client
Регистрация
29.10.2014
Сообщения
220
Благодарностей
22
Баллы
18
Ещё один вопрос
Результаты в тестере регулярных выражений и Regex действии разные, при одинаковых данных
Пример:
Текст исходник:
Best 5 Sports Betting Sites Online 2020 | Top Sportsbooks.
Sports betting on the Internet can be a thrilling experience for anyone. If you want your sports betting experience to go off without a hitch, however, you need to find the right website. Thankfully, the Internet is home to quite a few appropriate sites that can provide users with top-notch experiences. Be sure to check them out as soon as you get the chance.
#1 Bovada.
If you’re keen on sports betting online, then there aren’t many website options that can even compete with Bovada. People who have penchants for gambling on the Internet often can’t turn away from this option. It presents users with an abundance of diverse choices as well. Some examples of these are baseball, basketball, and golf. It doesn’t matter what your specific sport preferences are. Bovada can help you attain an online betting experience that’s one for the record books, period. When you’re on the lookout for the best sports betting sites, then Bovada without a doubt should be on your radar. Fans of sports betting online frequently gravitate to Bovada and to all of its choices. Registration with Bovada can be a delight as well. That’s due to the fact that newbies can receive thrilling perks as incentives. If you like the concept of betting on hockey, basketball and the like, then you won’t be able to resist paying a visit to Bovada. Tennis bets have never been quite so pleasant online.

Best esports betting sites for United States.
EsportBet.com is the home of esports betting in the USA! We take great pride in delivering the best picks and predictions articles, reviewing the best esports betting sites and making sure you have a safe and enjoyable time while you are betting on professional video games. Some of the most popular esports to bet on in 2020 include League of Legends, Call of Duty, Fortnite and CS:GO, with betting markets available at the top sportsbooks all year round. Our top esports betting sites for the USA in 2020 are:
Регулярное выражение: (?m)^.*[^\.\!\?\n]$

В Тестер-е 0-е совпрадение:
EsportBet.com is the home of esports betting in the USA! We take great pride in delivering the best picks and predictions articles, reviewing the best esports betting sites and making sure you have a safe and enjoyable time while you are betting on professional video games. Some of the most popular esports to bet on in 2020 include League of Legends, Call of Duty, Fortnite and CS:GO, with betting markets available at the top sportsbooks all year round. Our top esports betting sites for the USA in 2020 are:
В Regex действии в ProjectMaker-e:
Best 5 Sports Betting Sites Online 2020 | Top Sportsbooks.
Прикрепил шаблон в пример.
 

Вложения

  • Спасибо
Реакции: Yuriy Zymlex

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 352
Благодарностей
3 279
Баллы
113
Вы тестируете регулярки в разных окружениях. Самое быстрое, что вы можете сделать, использовать C# код, либо переписать регулярки.
Создал таску, но реализация будет совсем не скоро.
 

ZSHab

Client
Регистрация
29.10.2014
Сообщения
220
Благодарностей
22
Баллы
18
Вы тестируете регулярки в разных окружениях. Самое быстрое, что вы можете сделать, использовать C# код, либо переписать регулярки.
Создал таску, но реализация будет совсем не скоро.
Почему разные окружения? (Тестер регулярок в ProjectMaker-e)
 

doc

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

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 352
Благодарностей
3 279
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 595
Баллы
113
Проблема к экшеном обработки текста. в нём необходимо использовать \r\n

В тестере с этим - норм, если сравнивать c N++.
у меня нет последней версии чтобы проверить, но на моей тестер изначально режет в тексте \r, и там, где были переносы \r\n, остаются только \n. Как итог, в тестере неожиданно работают регулярки, которые как-либо опираются на \r.

Это же видно по посту https://zennolab.com/discussion/threads/ne-rabotaet-reguljarnoe-vyrazhenie.82837/post-555712
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 352
Благодарностей
3 279
Баллы
113
Тут как раз иная проблема, т.е. в экшене:
В Regex действии в ProjectMaker-e:
Best 5 Sports Betting Sites Online 2020 | Top Sportsbooks.
Ранее уже сообщали об этой проблеме.
 
  • Спасибо
Реакции: ZSHab

ZSHab

Client
Регистрация
29.10.2014
Сообщения
220
Благодарностей
22
Баллы
18
Тут как раз иная проблема, т.е. в экшене:


Ранее уже сообщали об этой проблеме.
Zymlex

Как перевести это в C# код, чтобы работало это регулярное выражение, также как и в Notepad++ и тестере работает?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 595
Баллы
113
Тут как раз иная проблема, т.е. в экшене:


Ранее уже сообщали об этой проблеме.
так в коде результат такой же как и в экшене. Это в тестере левый результат
 

ZSHab

Client
Регистрация
29.10.2014
Сообщения
220
Благодарностей
22
Баллы
18

doc

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

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 352
Благодарностей
3 279
Баллы
113
@ZSHab Вот ваша регулярка: (?s)^.*[^\.\!\?\n]$

Вот так бы оно выглядело в коде без модификаторов:
C#:
var r = Regex.Match(project.Variables["text"].Value, project.Variables["regex"].Value, RegexOptions.Singleline | RegexOptions.CultureInvariant); // ^.*[^\.\!\?\n]$
if(!r.Success) throw new Exception("Не найден");

return r.Value;
 
Последнее редактирование:
  • Спасибо
Реакции: ZSHab

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 352
Благодарностей
3 279
Баллы
113
И да, проблема в работе экшена парсинга.
Из-за обратной совместимости, вероятно остаётся только вынос модификаторов .net в настройки экшена.
 
  • Спасибо
Реакции: ZSHab

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