Бесплатно напишу регулярное выражение. Часть 2.

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Спасибо. Еще вот такая тема сработала ^[0-9]{6}
Более правильно всё же будет \d{6}
Символ ^ означает начало строки. Если перед цифрой у Вас будет что либо, регулярка ничего не возьмёт.
 
  • Спасибо
Реакции: major555

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
Как удалить все цифры в начале? :-)
скажем 123test, 1test - меняем.
test123 - ничего не меняем
 

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
787
Благодарностей
239
Баллы
43

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
787
Благодарностей
239
Баллы
43
  • Спасибо
Реакции: Gfoblin

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Здравствуйте! Максрос генерации имен и фамилий буржуйских сделаете?
 

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43
Помогите с регуляркой.
есть строки:
4 900 грн.
2 350 000 $
6 000 €
Цифры каждый раз разные.
Нужно получить только название валюты
грн.
$


Спасибо.
 

lokiys

Moderator
Регистрация
01.02.2012
Сообщения
4 812
Благодарностей
1 187
Баллы
113
Помогите с регуляркой.
есть строки:
4 900 грн.
2 350 000 $
6 000 €
Цифры каждый раз разные.
Нужно получить только название валюты
грн.
$


Спасибо.

Vazmi stroku, Regex Replace \d.*\d Replace na pustotu i budjet tybje vsjo ostalnoje.
 
  • Спасибо
Реакции: inotoxic

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43
То, что нужно, Спасибо
 
  • Спасибо
Реакции: LightWood

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
257
Баллы
63
Камрады помогите с регуляркой, нужно разбить предложение на парные слова. например есть предложение "ремонт квартир под ключ москва цена за квадратный метр" в результате должно быть так:
ремонт квартир
квартир под
под ключ
ключ москва
москва цена
за квадратный
квадратный метр
пысы. чё хайда то в редакторе нет?
 

konfuciy

Client
Регистрация
07.05.2014
Сообщения
1 402
Благодарностей
131
Баллы
63
Камрады помогите с регуляркой, нужно разбить предложение на парные слова. например есть предложение "ремонт квартир под ключ москва цена за квадратный метр" в результате должно быть так:
ремонт квартир
квартир под
под ключ
ключ москва
москва цена
за квадратный
квадратный метр
пысы. чё хайда то в редакторе нет?
Regex
\w+\s\w+
 

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
257
Баллы
63
Дружище, последнее слово хавает твоя регулярка)) в данном случае "метр". и слова должны быть повторяющиеся, т.е. последнее слово переходит в следующею пару. хотелось бы знать такое вообще под силу регуляркам, или лучше снипетом?

2015-11-07_115936.jpg
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Тут скорее лучше снипетом делать.
Ну или как костыль - можно положить все слова в список и потом обрабатывать - берём первую строку с удалением, следующую без, записываем, повторяем...И так до тех пор, пока не закончатся строки в списке
 
  • Спасибо
Реакции: Wide

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
257
Баллы
63
Тут скорее лучше снипетом делать.
Ну или как костыль - можно положить все слова в список и потом обрабатывать - берём первую строку с удалением, следующую без, записываем, повторяем...И так до тех пор, пока не закончатся строки в списке
да костыль серьёзный, будем курить в сторону снипета. всем спасибо. чао!)
 

konfuciy

Client
Регистрация
07.05.2014
Сообщения
1 402
Благодарностей
131
Баллы
63
Дружище, последнее слово хавает твоя регулярка)) в данном случае "метр". и слова должны быть повторяющиеся, т.е. последнее слово переходит в следующею пару. хотелось бы знать такое вообще под силу регуляркам, или лучше снипетом?

Посмотреть вложение 10124
в два прохода просто пройдись
первый такой регуляркой
\w+\s\w+
второй вот такой
\s\w+\s\w+
и все
сниппеты не нужны
 
  • Спасибо
Реакции: Wide

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
257
Баллы
63
в два прохода просто пройдись
первый такой регуляркой
\w+\s\w+
второй вот такой
\s\w+\s\w+
и все
сниппеты не нужны
спасибо друг, ты клёвый)) кто будет обижать, скажи, я разберусь))
 
  • Спасибо
Реакции: konfuciy

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43
Подскажите, возможно ли написание регулярки, чтобы текст чистился от всех спец символов например:
▶


и т.д.
Но, при этом в тексте оставались стандартные символы (" ;%:? &!#&) !
 

konfuciy

Client
Регистрация
07.05.2014
Сообщения
1 402
Благодарностей
131
Баллы
63
Подскажите, возможно ли написание регулярки, чтобы текст чистился от всех спец символов например:
▶


и т.д.
Но, при этом в тексте оставались стандартные символы (" ;%:? &!#&) !
Обработка текста/Замена/Regex
(▶|╗|═)
или
[▶╗═]+
на пустоту
пробовал?
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Нужно выражение которое будет брать текст до первой точки между тегами <p> или же, если перед первой точки встречаются две запятые, то брать текст до второй запятой меняя ее на точку. Поможет кто?
 

konfuciy

Client
Регистрация
07.05.2014
Сообщения
1 402
Благодарностей
131
Баллы
63
Нужно выражение которое будет брать текст до первой точки между тегами <p> или же, если перед первой точки встречаются две запятые, то брать текст до второй запятой меняя ее на точку. Поможет кто?
дружище, ты бы пример привел, без примера можно твой вопрос трактовать многими разными способами.
вот, например, ты пишешь между тэгами <p> - и как тебя понять, что ты имел ввиду - текст внутри тэга <p>, то есть от <p> до </p>, или прямо как ты написал между <p> и другим <p>...
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
что ты имел ввиду - текст внутри тэга <p>, то есть от <p> до </p>
Ну конечно же между! Внутри - это внутри, ну ни как не снаружи.
или прямо как ты написал между <p> и другим <p>
Если бы было так, так бы и написал дружище! А так, между тегами, значит между открывающим и закрывающим.

Хорошо, вот два варианта примера текста:
1. <p>text text text text text text. text text text text text.</p>
2. <p>text text text text, text text text text, text text text.</p>
 

konfuciy

Client
Регистрация
07.05.2014
Сообщения
1 402
Благодарностей
131
Баллы
63
Ну конечно же между! Внутри - это внутри, ну ни как не снаружи.

Если бы было так, так бы и написал дружище! А так, между тегами, значит между открывающим и закрывающим.

Хорошо, вот два варианта примера текста:
1. <p>text text text text text text. text text text text text.</p>
2. <p>text text text text, text text text text, text text text.</p>
в два прохода.
сначала Обработка текста/регекс
(?<=<p>)(.*?,.*?,|.*?\.)
потом
Обработка текста/замена/регекс
,$
на
.
 
Последнее редактирование:
  • Спасибо
Реакции: one

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Спасибо! То что надо! А в один проход никак? Если нет, тогда обойдусь без замены запятой на точку.
 

konfuciy

Client
Регистрация
07.05.2014
Сообщения
1 402
Благодарностей
131
Баллы
63
Спасибо! То что надо! А в один проход никак? Если нет, тогда обойдусь без замены запятой на точку.
В ЗП нет функции взятия строк регэксом с одновременной заменой символов, поэтому средствами ЗП невозможно это сделать в один проход
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Ясно, спасибо!
 

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43
Логи ЗП

2015-11-27 20:26:14.2585|WARN|ZennoLab.LogLibrary.InternalError|Ошибка в модуле "ZennoPoster"
Сообщение: "Не удалось выполнить проект C:\Users\Administrator\Desktop\FOLDER1\FOLDER2\FOLDER3\template_name.xmlz"
2015-11-27 20:36:56.3646|INFO|ZennoLab.LogLibrary.InternalError|Событие в модуле "ZennoPoster"
Сообщение: "Проект C:\Users\Administrator\Desktop\FOLDER1\FOLDER2\template_name.xmlz выполнен успешно!"
2015-11-27 21:46:56.5112|INFO|ZennoLab.LogLibrary.InternalError|Событие в модуле "ZennoPoster"
Сообщение: "Проект C:\Users\Administrator\Desktop\FOLDER1\FOLDER2\template_name.xmlz выполнен успешно!"
2015-11-27 22:37:15.0237|WARN|ZennoLab.LogLibrary.InternalError|Ошибка в модуле "ZennoPoster"
Сообщение: "Не удалось выполнить проект C:\Users\Administrator\Desktop\FOLDER1\FOLDER2\FOLDER3\template1_name.xmlz"

Помогите с регулярками, чтобы в результате забирать по 2-е строки
1 регулярка при успешном выполнении
2 регулярка при ошибке
 

konfuciy

Client
Регистрация
07.05.2014
Сообщения
1 402
Благодарностей
131
Баллы
63
Логи ЗП

2015-11-27 20:26:14.2585|WARN|ZennoLab.LogLibrary.InternalError|Ошибка в модуле "ZennoPoster"
Сообщение: "Не удалось выполнить проект C:\Users\Administrator\Desktop\FOLDER1\FOLDER2\FOLDER3\template_name.xmlz"
2015-11-27 20:36:56.3646|INFO|ZennoLab.LogLibrary.InternalError|Событие в модуле "ZennoPoster"
Сообщение: "Проект C:\Users\Administrator\Desktop\FOLDER1\FOLDER2\template_name.xmlz выполнен успешно!"
2015-11-27 21:46:56.5112|INFO|ZennoLab.LogLibrary.InternalError|Событие в модуле "ZennoPoster"
Сообщение: "Проект C:\Users\Administrator\Desktop\FOLDER1\FOLDER2\template_name.xmlz выполнен успешно!"
2015-11-27 22:37:15.0237|WARN|ZennoLab.LogLibrary.InternalError|Ошибка в модуле "ZennoPoster"
Сообщение: "Не удалось выполнить проект C:\Users\Administrator\Desktop\FOLDER1\FOLDER2\FOLDER3\template1_name.xmlz"

Помогите с регулярками, чтобы в результате забирать по 2-е строки
1 регулярка при успешном выполнении
2 регулярка при ошибке

1
.*Событие\ в\ модуле.*\r\n.*выполнен\ успешно.*
2
.*Ошибка\ в\ модуле.*\r\n.*Не\ удалось\ выполнить\ проект.*
 

SkyWay

Новичок
Регистрация
02.01.2016
Сообщения
12
Благодарностей
0
Баллы
1
Подскажите, какое можно сделать регулярное выражение для текста на входе (10 строк), значения постоянно меняются:
Код:
 Акционнный 10 $ 141.10 2016-01-01 23:27:08 Прибыль от лично приглашенного от Виктор Коробов ([email protected]) null Бонусный 10 $ 1 108.57 2016-01-01 23:27:05 Прибыль от лично приглашенного от Виктор Коробов ([email protected]) null Акционнный 10 $ 131.10 2016-01-01 09:03:39 Прибыль от лично приглашенного от Евгений Смяжко ([email protected]) null Бонусный 10 $ 1 098.57 2016-01-01 09:03:37 Прибыль от лично приглашенного от Евгений Смяжко ([email protected]) null Акционнный 10 $ 131.10 2016-01-01 09:02:15 Прибыль от лично приглашенного от Евгений Смяжко ([email protected]) null Бонусный 10 $ 1 098.57 2016-01-01 09:02:13 Прибыль от лично приглашенного от Евгений Смяжко ([email protected]) null Акционнный 0.1031 $ 121.10 2015-12-30 10:53:19 Прибыль со структуры от ГЕОРГИЙ ЛОБНЕВ ([email protected]) null Бонусный 0.1031 $ 1 088.57 2015-12-30 10:53:17 Прибыль со структуры от ГЕОРГИЙ ЛОБНЕВ ([email protected]) null Акционнный 4.8969 $ 121.00 2015-12-30 10:52:19 Прибыль со структуры от ГЕОРГИЙ ЛОБНЕВ ([email protected]) null Бонусный 4.8969 $ 1 088.47 2015-12-30 10:52:17 Прибыль со структуры от ГЕОРГИЙ ЛОБНЕВ ([email protected]) null
На выходе нужна таблица такого вида:

Акционнный10141.102016-01-0123:27:08Прибыль от лично приглашенного отВиктор Коробов[email protected]
[TBODY] [/TBODY]

думаю, что нужно делать регулярное выражение по каждое значение, в список, и после каждое значение в отдельную пременную и можно сохранять в таблицу.

Загвоздка на регулярных выражениях..подскажите кто разбирается, благодарю!
 

gromozek67

Новичок
Регистрация
02.01.2016
Сообщения
8
Благодарностей
0
Баллы
1
Может кто подскажет, нужно удалить пробелы и пустые строки. Переменная выглядит примерно так:

2007-15


пробовал с помощью кода:
var text3 = "x";
var newText3 = text3.replace(/\s+/g, '');
ничего не получается, но если в ручную убрать пустые строки, то выходит то что надо. Может кто подскажет как убрать пустые строки?
На выходе хотелось бы получить:
2007-15
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
На выходе хотелось бы получить:
2007-15
Обычный экшен "Обработка текста" > "Trim" чем не устраивает?
Если переменная из проекта:
Код:
return project.Variables["Text"].Value.Trim();
Если переменная только в коде:
Код:
var text = "Text";
return text.Trim();
 
Последнее редактирование:

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