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

Страниц (25): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец
 

61. ivantu - 28 Сентября, 2019 - 13:00:57 - перейти к сообщению
Огроменное спасибо.
62. ivantu - 30 Сентября, 2019 - 03:59:37 - перейти к сообщению
Подскажите что делаю не так? Пытаюсь прочитать ключ из ini и проверить его

CODE:

for (int i_r_names=0; i_r_names<22; i_r_names++){
GetPrivateProfileString ("Rune_Names", format(i_r_names), 0, address (#c_rune_names[0]), sizearray(c_rune_names), path_drop_list); // получить значение
regexreplace(-1, #rune_name, text, ".*?("+format(#c_rune_names[0])+").*", "$1"); // Оставить только имя руны
messagebox(rune_name);
}

63. ivantu - 30 Сентября, 2019 - 07:07:57 - перейти к сообщению
Разобрался, пришлось еще одну переменную заводить...

Спойлер (Отобразить)
64. ivantu - 02 Октября, 2019 - 02:43:51 - перейти к сообщению
Подскажите пожалуйста как найти цифру в строке, но начинать искать с символа "x"

к примеру строка "Выпало (целых) x6 штук"

регулярка вернет число 6
использовать просто \d не подходит, если только с условием, то что я указал выше, буду благодарен за помощь .
65. Zireael - 02 Октября, 2019 - 03:28:21 - перейти к сообщению
 Цитата:
как найти цифру в строке, но начинать искать с символа "x"

CODE:
string s="Выпало 123 (целых) x6 штук";
string s2;

if(regexsearch(1, #s2, s, "(?<=x)\d+"))messagebox(s2); // найти число после 'x'
else messagebox("Не найдено");

if(regexreplace(1, #s2, s, ".*?x(\d+).*", "$1"))messagebox(s2); // или так
else messagebox("Не найдено");
66. ivantu - 02 Октября, 2019 - 03:34:22 - перейти к сообщению
Огромное спасибо, еще вопрос, можно в одном регулярном, сначала убрать все пробелы, а затем , что Вы писали выше, или нужно несколько регулярных прописывать?
67. Zireael - 02 Октября, 2019 - 03:41:54 - перейти к сообщению
 Цитата:
можно в одном регулярном, сначала убрать все пробелы, а затем

Нельзя. Как вариант можно так:
CODE:
string s="Выпало 123 (целых) x 6 штук"; // между 'x' и 6 могут быть пробелы

if(regexreplace(1, #s, s, ".*?x *(\d+).*", "$1"))messagebox(s);
else messagebox("Не найдено");
68. ivantu - 02 Октября, 2019 - 04:04:59 - перейти к сообщению
Спасибо огромное
69. 007wan - 03 Октября, 2019 - 01:06:23 - перейти к сообщению
Zireael , Помогите с регулярками, пожалуйста
Есть текст.
 Цитата:
v1.0[Now];
History:
v1.1[01.10.2019]:
-Добавлена функция снимка экрана, а так же с указанием с сохранения нужного формата и места.
-Изменена иконка программы в основном окне и в настройках;
v1.2[03.10.2019]:
-Введены кнопки в виде иконок с информационными и предупреждающими подсказками.
-Упрощён код программы;


Сначала сравнить вывести текущую версию программы v1.0[Now]; оставив только 1.0
PS^Не забываем про разделители ;;;;

Можно вывести эти "коробки" таким образом.
Первый messagebox"(Заголовок:"+История версий программы: v1.1 Дата обновления: 01.10.2019".", "Текст ниже заголовка:" formatic(10)+formatic(13) -Добавлена функция снимка экрана, а так же с указанием с сохранения нужного формата и места.formatic(10)+formatic(13)
-Изменена иконка программы в основном окне и в настройках.

Второй messagebox"(Заголовок:"+История версий программы: v1.2 Дата обновления: 03.10.2019".", "Текст ниже заголовка:" formatic(10)+formatic(13) -Введены кнопки в виде иконок с информационными и предупреждающими подсказками.formatic(10)+formatic(13)
-Упрощён код программы.

Как-то так)
(Добавление)
PS: со временем будет пополняться текст, поэтому нужно что бы он получал количество таких коробок, и что бы v1.0[Now]; была независима от этих коробок, это совсем другая часть текста
70. Zireael - 03 Октября, 2019 - 03:20:10 - перейти к сообщению
 Цитата:
Помогите с регулярками

code (Отобразить)

Powered by ExBB FM 1.0 Final