Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 5.44 Регулярные выражения

Страниц (25): В начало « ... 17 18 19 20 21 22 23 24 [25]
 

241. Zireael - 11 Января, 2024 - 17:19:04 - перейти к сообщению
 Цитата:
Т.е. найти "символы"+неизвестное количество символов+"ещё символы"+неизвестное количество символов+"ещё другие символы"
Если то что нашлось, уместилось в 500 знаков, значит нашли, что надо.

Эта подстрока вполне соответствует:
 Цитата:
1ому ++!выражен ? ию2-1-2 +3+!Текст в ?котором --выраж3

Нужные более чёткие критерии поиска чтобы найти то что нужно.

Можно так сделать:
CODE:
string Text = "Текст ++в !котором ищем? --по регулярн123ому ++!выражен ? ию456-123-456 +789+!Текст в ?котором --выраж789ение";
string Result;

if(regexsearch(1, #Result, Text, "123(?!.+?123).+?456(?!.+?456).+?789")) messagebox(Result);
else messagebox("Не найдено");
242. konctantin777 - 28 Сентября, 2024 - 09:52:20 - перейти к сообщению
Здравствуйте.
Подскажите как в числе поставить точки через каждые 3 знака с конца для удобства чтения ?
Например число 12366555500, чтоб отобразить как 12.366.555.500
Или 1230 отобразить как 1.230
Заранее спасибо )
243. konctantin777 - 28 Сентября, 2024 - 12:05:49 - перейти к сообщению
 konctantin777 пишет:
Например число 12366555500, чтоб отобразить как 12.366.555.500

string Text = "12366555500";

messagebox(Text);
244. neba2101 - 29 Сентября, 2024 - 02:51:18 - перейти к сообщению
[quote=konctantin777]
 konctantin777 пишет:
Например число 12366555500, чтоб отобразить как 12.366.555.500


CODE:

string Text = "12366555500";
string P[100];
int reg=regexsearch(100, #P[0], Text, "\d{3}", RIGHTTOLEFT);
for(int i=0; i<reg; i++)
{
regexreplace(1, #Text, Text, "(?<=[^\.])\d{3}", "."+P[i], RIGHTTOLEFT);
}
messagebox(Text);
245. konctantin777 - 01 Октября, 2024 - 03:29:32 - перейти к сообщению
Здравствуйте. Помогите, пожалуйста, правильно определить значения. В игре есть цифры типа:
14к=14.000
13.7к=13.700
13.65к=13.650
6.1м=6.100.00
6.25м=6.250.000
11м=11.000.000
И похожие. У меня проблема, что не заменить просто "к" на "00", а "м" на "00000"..
Заранее спасибо )

CODE:
string Text = "13.65к";
246. neba2101 - 01 Октября, 2024 - 04:51:40 - перейти к сообщению
 konctantin777 пишет:
14к=14.000
13.7к=13.700
13.65к=13.650
6.1м=6.100.00
6.25м=6.250.000
11м=11.000.000


CODE:
string P;
string Text = "14k";
//Text = "13.7k";
//Text = "13.65k";
//Text = "6.1m";
//Text = "6.25m";
//Text = "11m";

if(regexsearch(1, #P, Text, "\.")==0 && regexsearch(1, #P, Text, "k")>0)regexreplace(1, #Text, Text, "k", ".000");
if(regexsearch(1, #P, Text, "\.\dk")>0)regexreplace(1, #Text, Text, "k", "00");
if(regexsearch(1, #P, Text, "\.\d{2}k")>0)regexreplace(1, #Text, Text, "k", "0");

if(regexsearch(1, #P, Text, "\.")==0 && regexsearch(1, #P, Text, "m")>0)regexreplace(1, #Text, Text, "m", ".000.000");
if(regexsearch(1, #P, Text, "\.\dm")>0)regexreplace(1, #Text, Text, "m", "00.000");
if(regexsearch(1, #P, Text, "\.\d{2}m")>0)regexreplace(1, #Text, Text, "m", "0.000");
if(regexsearch(1, #P, Text, "\.\d{3}m")>0)regexreplace(1, #Text, Text, "m", ".000");

messagebox(Text);


Тема закрыта! Продолжение в теме "Версия 5.44 Регулярные выражения - 2".

Powered by ExBB FM 1.0 Final