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

katka2100

Client
Регистрация
21.11.2017
Сообщения
88
Благодарностей
3
Баллы
8
Подскажите плез, как сделать чтоб если строка начинается с заглавной буквы заменить первую букву на маленькую.
И если наоборот с маленькой на большую?
Заранее спасибо.
 
Последнее редактирование:

one

Client
Регистрация
22.09.2015
Сообщения
6 834
Благодарностей
1 275
Баллы
113
Один из вариантов.

upload_2018-2-21_18-56-49.png
 

katka2100

Client
Регистрация
21.11.2017
Сообщения
88
Благодарностей
3
Баллы
8

woober

Client
Регистрация
07.04.2015
Сообщения
211
Благодарностей
123
Баллы
43
Наверное я не совсем точно пояснил- только первую букву, а не всю переменную
ну можно с помощью c# как-то так
string str = project.Variables["test"].Value;
str = str[0].ToString().ToLower() + str.Substring(1);
project.Variables["test"].Value = str;

 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
Подскажите плез, как сделать чтоб если строка начинается с заглавной буквы заменить первую букву на маленькую.
И если наоборот с маленькой на большую?
Заранее спасибо.
C#:
string str = project.Variables["Text"].Value;
if (char.IsUpper(str[0]))
    return char.ToLower(str[0]) + str.Substring(1);
return char.ToUpper(str[0]) + str.Substring(1);
 

maryan

Client
Регистрация
04.07.2014
Сообщения
230
Благодарностей
40
Баллы
28
Всем привет, подскажите регулярку для notepad++. Нужно заменить второй или тертий символ ; на <h1>
например
domen.ru;Фильмы онлайн;545821;text;text
в итоге должно получиться
domen.ru<h1>Фильмы онлайн</h1>;545821;text;text

строк будет много, и в каждой строке так нужно сделать. Заранее спасибо
 

SoUp1

Client
Регистрация
15.09.2013
Сообщения
146
Благодарностей
47
Баллы
28
<span class="icon enlargephoto inlblk">43</list> <span class="block xx-large cfff margintop10">box</span>
Можно ли одной регуляркой спарсить 43 и box или только двома?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
<span class="icon enlargephoto inlblk">43</list> <span class="block xx-large cfff margintop10">box</span>
Можно ли одной регуляркой спарсить 43 и box или только двома?
Если одной, то только заменой по регулярке
Код:
.*((?<="icon enlargephoto inlblk">).*?(?=<)).*((?<="block xx-large cfff margintop10">).*?(?=<)).*
на
Код:
$1 $2
 
  • Спасибо
Реакции: SoUp1

nikatin72

Client
Регистрация
16.12.2016
Сообщения
123
Благодарностей
18
Баллы
18
Добавлено!

Если вдруг у кого криво работает регулярка - в этой теме напишите, придумаем решение. Очень часто регулярки могут спотыкаться когда к примеру текст идёт в одну строку без переносов строк.
Не работает Поиск всех HTML тегов подскажите как их убрать из текста
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 408
Благодарностей
1 474
Баллы
113

nikatin72

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

Nord

Client
Регистрация
22.03.2012
Сообщения
2 408
Благодарностей
1 474
Баллы
113

genval6

Новичок
Регистрация
12.02.2018
Сообщения
21
Благодарностей
2
Баллы
3
(?<=(\D|^))[1-9]\d* это поиск числа больше 0, как написать - больше 201?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
  • Спасибо
Реакции: genval6

genval6

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

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
спасибо работает, но только на целых числах, вызможно сделать с разделителем "," ?
Может и возможно, но нафиг заморачиваться с такой регуляркой. Парси любое число регуляркой
Код:
(?<=^|\D)[1-9]\d*(,\d+)?
в переменную и затем, предварительно заменив запятую на точку, сравнивай If'ом {-Variable.Number-} > 201
 

genval6

Новичок
Регистрация
12.02.2018
Сообщения
21
Благодарностей
2
Баллы
3
Может и возможно, но нафиг заморачиваться с такой регуляркой. Парси любое число регуляркой
Код:
(?<=^|\D)[1-9][\d,]*\d+
в переменную и затем, предварительно заменив запятую на точку, сравнивай If'ом {-Variable.Number-} > 201
в моем случае скорей всего такой вариант не подойдет. Как написать поиск диапазона по трехзначным цифрам включая "," в начале ,000-,999?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
в моем случае скорей всего такой вариант не подойдет.
Я там ещё немного подправил регулярку, если что. Но я понял!
Как написать поиск диапазона по трехзначным цифрам включая "," в начале ,000-,999?
Код:
,\d{3}
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
  • Спасибо
Реакции: genval6

genval6

Новичок
Регистрация
12.02.2018
Сообщения
21
Благодарностей
2
Баллы
3
  • Спасибо
Реакции: Dimionix

xopek2007

Client
Регистрация
10.05.2013
Сообщения
102
Благодарностей
11
Баллы
18
Подскажите пожалуйста апостроф надо экранировать?
(?m)(?i)^((?!women's|men's|children's).)*boots
или (?m)(?i)^((?!women\'s|men\'s|children\'s).)*boots
 

Dimionix

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

Roman*

Client
Регистрация
25.09.2013
Сообщения
1 657
Благодарностей
656
Баллы
113
Можно в первом посте поправить регулярку для парсинга почт на
Код:
[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?\.[A-Za-z0-9]{2,}
А то парсит еще и 349853@mail и 394894@mail. , а это лишнее)
 

redman

Client
Регистрация
11.03.2016
Сообщения
554
Благодарностей
178
Баллы
43
Подскажите, как в тексте заменить все символы, кроме букв и цифр, если их больше двух подряд, на один? Например:
Код:
текст текст,, текст///текст.. текст??
а нужно
Код:
текст текст, текст/текст. текст?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
  • Спасибо
Реакции: jumanji и redman

redman

Client
Регистрация
11.03.2016
Сообщения
554
Благодарностей
178
Баллы
43
Заменить (\W)+\1 на $1
А если такой текст
Код:
текст текст,, текст///текст.. текст??

//////////////////////////////////////////////
то выходит так
Код:
текст текст, текст/текст. текст/
а надо так
Код:
текст текст, текст/текст. текст?

/
 

redman

Client
Регистрация
11.03.2016
Сообщения
554
Благодарностей
178
Баллы
43
Хотя и так тоже супер, просто если текст заканчивается символами, они приклеиваются к концу текста. А там можно обрезать.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
  • Спасибо
Реакции: redman

redman

Client
Регистрация
11.03.2016
Сообщения
554
Благодарностей
178
Баллы
43

SoUp1

Client
Регистрация
15.09.2013
Сообщения
146
Благодарностей
47
Баллы
28
Есть такой текст
<input type="hidden" name="сff.token" value="NG09C9HFUT7SV3WD1WZCJN6R0KM7208N" /> <section class="formLabel">
Нужно спарсить значания value
Сделал через конструктор такую регулярку
Код:
(?<=token"\ value=").*(?="\ )
Но 1000 раз парсинга такой регуляркой занимает 2 сек
Можно ли как то ускорить регулярку?
 

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