Помогите с ругуляркой :(

sekoan

Client
Регистрация
04.01.2015
Сообщения
219
Благодарностей
92
Баллы
28
Здравствуйте, давно мучает пару вопросов с регуляркой, было бы очень здорово решить их )
1) К примеру есть текст,
цепь грм дизель 2.3 -800р
салейнтблоки -150р
бендекс 500р
датчик распредвала- двигатель 18nv (рабочий, лежал как запасной)1000 р ну и мелочи на фото...цепь грм дизель 2.3 - 800р
салейнтблоки - 150 р
датчик распредвала- двигатель 18nv (рабочий, лежал как запасной)1000 р ну и мелочи на фото...


В тексте нужно найти значение: 800р, 150р, 500р
также в тексте нужно найти значение: 1000 р, 800 р, 500 р, 150 р

И может кто еще подскажет как пользоваться регуляркой (^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$) - это любое число от 1 до 50 включительно. Добавляю его в экшен, а он в данном примере не находит никакие цифры.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
\d+р|\d+\sр.*?
 

sekoan

Client
Регистрация
04.01.2015
Сообщения
219
Благодарностей
92
Баллы
28
Сильно, спасибо, теперь мне стало понятно :D
 

sekoan

Client
Регистрация
04.01.2015
Сообщения
219
Благодарностей
92
Баллы
28
А что означает это выражение .*?
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113

Bot_Sculptor

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

sekoan

Client
Регистрация
04.01.2015
Сообщения
219
Благодарностей
92
Баллы
28
Ребят, как то я не продумал как дальше буду делать, может кто посоветует, мне теперь в тексте нужно заменить
800р
150р
500р
1000 р
на:

800т
150т
500т
1000 т

Я думал сделать это в экшене замена, тогда получается нечто такое:
цепь грм дизель 2.3 -т
салейнтблоки -т
бендекс т
датчик распредвала- двигатель 18nv (рабочий, лежал как запасной)т ну и мелочи на фото...цепь грм дизель 2.3 -т
салейнтблоки -т
 

sof

Client
Регистрация
15.04.2013
Сообщения
831
Благодарностей
185
Баллы
43
Операции над списком - получить количество строк - положить в переменную и через замену заменить р на т или в тексте не только цены а и текст другой присутствует?
 
Последнее редактирование:

sekoan

Client
Регистрация
04.01.2015
Сообщения
219
Благодарностей
92
Баллы
28
Операции над списком - получить количество строк - положить в переменную и через замену заменить р на т
Зачем нам получать количество строк? Их 15 строк) в этом примере, что мне потом с этой цифрой делать? Я думаю тут надо сделать так, чтобы замена была сразу с цифрой из списка (фото1)
 

Вложения

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
787
Благодарностей
239
Баллы
43
не совсем ясно что вам нужно, ибо не ясно выражаетесь (или же мне лень вчитываться).
если вам нужно заменить р на т, при этом чтобы перед р стояли 2 и больше цифр, то нужно так:
(?<=\d{2,})\ *р\.?\b
заменить на т
поиск regex
 

sekoan

Client
Регистрация
04.01.2015
Сообщения
219
Благодарностей
92
Баллы
28
не совсем ясно что вам нужно, ибо не ясно выражаетесь (или же мне лень вчитываться).
если вам нужно заменить р на т, при этом чтобы перед р стояли 2 и больше цифр, то нужно так:
(?<=\d{2,})\ *р\.?\b
заменить на т
поиск regex
Спасибо большое, то что нужно)
 

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