Регулярные выражения на все случаи жизни

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Большое спасибо! А возможно ли в этот regexp добавить удаление дублей? Что бы не приходилось ставить кубик с обработкой списка.
Для удаления дублей нужно сортировать и объединять список в переменную, так что легче просто в списке сделать штатное удаление дублей.
 
  • Спасибо
Реакции: INNERSPEAKER

dohrelion

Client
Регистрация
22.03.2018
Сообщения
130
Благодарностей
38
Баллы
28
Подскажите пожалуста.
Есть строки
E:\ZeNo\Suit\post\имя файла.txt
E:\ZeNo\Suit\post\имя файла 2.txt

Какой одной регуляркой вырезать имя в обоих случаях и иметь на выходе имя без цифры и пробела перед ней ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Подскажите пожалуста.
Есть строки
E:\ZeNo\Suit\post\имя файла.txt
E:\ZeNo\Suit\post\имя файла 2.txt

Какой одной регуляркой вырезать имя в обоих случаях и иметь на выходе имя без цифры и пробела перед ней ?
Обработка текста - Regex:

upload_2018-8-16_18-30-18.png


И потом Замена на пустоту:

upload_2018-8-16_18-41-2.png
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Код:
[^\\]+\S\D(?=(\s+\d+)?\.txt)
Но это плохой вариант. Лучше, либо обрезать регулЯркой дважды, сначала получать полное имя файла, потом обрезать пробел-цифру, если есть, либо использовать групповую регулярку
Код:
([^\\]+?)(\s+\d+)?\.txt
 
Последнее редактирование:
  • Спасибо
Реакции: Sergodjan

dohrelion

Client
Регистрация
22.03.2018
Сообщения
130
Благодарностей
38
Баллы
28

juder

Client
Регистрация
05.08.2018
Сообщения
62
Благодарностей
21
Баллы
8
Доброе время суток!
Подскажите плз как написать чтобы регулярка искала все с любыми цифрами на месте 1280 и 933
Код:
(?<=,&quot;z_&quot;:\[&quot;).*?(?=&quot;,1280,933],&quot;w_)
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Доброе время суток!
Подскажите плз как написать чтобы регулярка искала все с любыми цифрами на месте 1280 и 933
Код:
(?<=,&quot;z_&quot;:\[&quot;).*?(?=&quot;,1280,933],&quot;w_)
замени каждое число на \d+
 
  • Спасибо
Реакции: juder и Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Доброе время суток!
Подскажите плз как написать чтобы регулярка искала все с любыми цифрами на месте 1280 и 933
Код:
(?<=,&quot;z_&quot;:\[&quot;).*?(?=&quot;,1280,933],&quot;w_)
Числа заменить на \d+
 
  • Спасибо
Реакции: juder

Alex Refery

Новичок
Регистрация
19.08.2018
Сообщения
3
Благодарностей
0
Баллы
1
Всем привет.
Вопрос к знающим.
Есть большая строка, в ней нужно заменить все вхождения "ара" на "оло", НО в строке есть слова begin и end, между которыми замены делать нельзя.
Пример строки:
"рпврап парал ориbegin аранрр парад end арахис begin карат begin арарррарало нараааа end лараноп"
Нужна одна регулярка. Весь мозг себе вынес, как ее построить - не понимаю. Как исключить из поиска выделенные подстроки?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Всем привет.
Вопрос к знающим.
Есть большая строка, в ней нужно заменить все вхождения "ара" на "оло", НО в строке есть слова begin и end, между которыми замены делать нельзя.
Пример строки:
"рпврап парал ориbegin аранрр парад end арахис begin карат begin арарррарало нараааа end лараноп"
Нужна одна регулярка. Весь мозг себе вынес, как ее построить - не понимаю. Как исключить из поиска выделенные подстроки?
одной регуляркой это не сделать
 

Alex Refery

Новичок
Регистрация
19.08.2018
Сообщения
3
Благодарностей
0
Баллы
1

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Какие варианты?
сначала изолировать запретные строки, сохранить куда-то и заменить их на каие-то кодовые комбинации. В новой строке сделать замену. Вернуть сохранённые строки на место
 

Alex Refery

Новичок
Регистрация
19.08.2018
Сообщения
3
Благодарностей
0
Баллы
1
сначала изолировать запретные строки, сохранить куда-то и заменить их на каие-то кодовые комбинации. В новой строке сделать замену. Вернуть сохранённые строки на место
Спасибо за совет. Так и сделю.
 

dohrelion

Client
Регистрация
22.03.2018
Сообщения
130
Благодарностей
38
Баллы
28
Доброго дня. Как вырезать слово1 до ПЕРВОГО пробела из такой строки (слово1 слово2 слово3)

.*(?=[\s])
Как её перестроить?
 

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18
Дошел до 10 страницы ) терпения не хватило ) подскажите плз регулярку для удаления 2-3 заглавных букв идущих в начале предложения

АПЛ Бёрнли Уотфорд 1 : 3
 

dohrelion

Client
Регистрация
22.03.2018
Сообщения
130
Благодарностей
38
Баллы
28
Дошел до 10 страницы ) терпения не хватило ) подскажите плз регулярку для удаления 2-3 заглавных букв идущих в начале предложения
Может так ?
(?<=\ ).*

только если после них есть пробел
 
  • Спасибо
Реакции: kokoko

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18
Сам разобрался )

Подскажите как положить регулярку в условие ?

Если переменная = цифре
 
Последнее редактирование:

Hannes

Client
Регистрация
03.02.2016
Сообщения
527
Благодарностей
273
Баллы
63
Подскажите, пожалуйста, регулярку для взятия первых 20 символов русских и английских букв (без точек, запятых и пр. символов).

Сделал так:
.{20}[а-яА-Яa-zA-Z]
Но разбивка получается по 21 символу с точками, запятыми и пр. символами.

Можете подсказать, где допустил ошибку?
 
Последнее редактирование:

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Подскажите, пожалуйста, регулярку для взятия первых 20 символов русских и английских букв (без точек, запятых и пр. символов).

Сделал так:
.{20}[а-яА-Яa-zA-Z]
Но разбивка получается по 21 символу с точками, запятыми и пр. символами.

Можете подсказать, где допустил ошибку?
[а-яА-Яa-zA-Z]{20}
 
  • Спасибо
Реакции: Hannes

Hannes

Client
Регистрация
03.02.2016
Сообщения
527
Благодарностей
273
Баллы
63

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
  • Спасибо
Реакции: Hannes

Hannes

Client
Регистрация
03.02.2016
Сообщения
527
Благодарностей
273
Баллы
63
эта регулярка ищет строго 20 символов кириллицы или латиницы, или в перемешку
Doc, спасибо за отклик!

Задача такая у меня: есть рандомный текст (например: "Знаки динамического регулирования, автоматически устанавливающие скоростной режим в зависимости от погоды...")
Нужно взять 20 первых символов, которые пойдут в название файла [первые 20 символов текста].txt

Можешь посоветовать правильную регулярку под такую задачу?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Doc, спасибо за отклик!

Задача такая у меня: есть рандомный текст (например: "Знаки динамического регулирования, автоматически устанавливающие скоростной режим в зависимости от погоды...")
Нужно взять 20 первых символов, которые пойдут в название файла [первые 20 символов текста].txt

Можешь посоветовать правильную регулярку под такую задачу?
ну так и как результат должен выглядеть?
 
  • Спасибо
Реакции: Hannes

Hannes

Client
Регистрация
03.02.2016
Сообщения
527
Благодарностей
273
Баллы
63
В переменной текст:
Он отметил, что ответственный за халатность человек был установлен.

Нужно взять первые 20 символов (а-я, a-z) без точек, запятых и прочих символов.
Результат: Он отметил что отве
 

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
[первые 20 символов текста].txt
Делать реплейс строки от всего кроме нужных букв и потом брать 20 символов
// Текст для обработки
string text = "asdfg.asfg.asdf.asdfg";
project.Variables["Res"].Value = Macros.TextProcessing.Replace(text, "[^а-яА-Яa-zA-Z]", "", "Regex", "All");
 
  • Спасибо
Реакции: Hannes

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
В переменной текст:
Он отметил, что ответственный за халатность человек был установлен.

Нужно взять первые 20 символов (а-я, a-z) без точек, запятых и прочих символов.
Результат: Он отметил что отве
сначала чистишь от левых символов через замену по регулярке [^\w\s] на пустоту
потом берёшь регуляркой .{20}
 
  • Спасибо
Реакции: Hannes

Hannes

Client
Регистрация
03.02.2016
Сообщения
527
Благодарностей
273
Баллы
63
Спасибо вам! :dk:
 

auva

Client
Регистрация
09.02.2016
Сообщения
34
Благодарностей
4
Баллы
8
Всем привет!
Простите за оффтоп.
Есть вопрос, не знаю, к регулярке отности или нет.

Спарсил выдачу, получил вот так
https://zennolab.com/discussion/threads/reguljarnye-vyrazhenija-dlja-poiskovoj-vydache-yandex.17782/#post-336444
можете помочь решить?

спасибо


---
решение вот здесь
https://zennolab.com/discussion/threads/reguljarnye-vyrazhenija-dlja-poiskovoj-vydache-yandex.17782/#post-381655
 
Последнее редактирование:

xopek2007

Client
Регистрация
10.05.2013
Сообщения
102
Благодарностей
11
Баллы
18
Подскажите, пожалуйста, у меня есть список такого содержания:
Код:
<option value="-1">- Select -
White / Rush Orange-Black
AH8511-001[out of stock]
Bn8511-1v0
11[out of stock]
12
13
Как получить номер случайной строки, которая не содержит [out of stock] и <option value="-1">- Select -
Сниппет нашел:
Код:
var list = project.Lists["list"];
string pattern = "^\\d+";
return list.IndexOf(list.First(e=>System.Text.RegularExpressions.Regex.IsMatch(e, pattern)));
А регулярку составить не получается(
 

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